Mam dość dziwne błędy podczas kompilowania kodu pod gcc. Mówi mi, że std::function
nie istnieje.Funkcja nie jest elementem std
mogę odtworzyć ten błąd z następującego kodu:
#include <functional>
#include <stdio.h>
void test(){ printf ("test"); }
int main() {
std::function<void()> f;
f = test;
f();
}
Jeśli uruchomić gcc (od Cygwin). (Mój komunikat o błędzie był Niemcem, więc to tłumaczone Może to być dźwięk różni się w języku angielskim 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
Z MSVC skompilowano pomyślnie. Proszę powiedz mi, co robię źle w moim kodzie.
Johannes
Czy kompilujesz z C++ 11? – chris
Nie, jeśli zrobię "gcc -std = C++ 0x test.cpp" to wyśle kilka błędów łącznika, których nie rozumiem. – EGOrecords
Potrzebujesz 'g ++', a nie 'gcc', zobacz odpowiedzi poniżej. – juanchopanza