Ich habe einige ziemlich seltsame Fehler beim Kompilieren von Code unter gcc. Es sagt mir, dass std::function
nicht existiert.Funktion ist kein Element von Std.
Ich kann den Fehler mit dem folgenden Code erstellen:
#include <functional>
#include <stdio.h>
void test(){ printf ("test"); }
int main() {
std::function<void()> f;
f = test;
f();
}
Wenn ich gcc laufen (von Cygwin.): (Meine Fehlermeldung war Deutsch, so dass ich es übersetzte es klingt anders auf Englisch verfügbar sein gcc)
$ gcc test.cpp
test.cpp: in function "int main():
test.cpp:7:3: Error: "function" is not an element of "std"«
test.cpp:7:25: Error: "f" was not defined in this scope
Mit MSVC kompiliert es erfolgreich. Bitte sagen Sie mir, was ich in meinem Code falsch mache.
Johannes
Kompilieren Sie mit C++ 11? – chris
nein, wenn ich'gcc -std = C++ 0x test.cpp 'es wirft eine Reihe von Linker-Fehler, die ich nicht verstehen konnte – EGOrecords
Sie brauchen 'g ++', nicht 'gcc', siehe Antworten unten. – juanchopanza