Ho ricevuto alcuni errori piuttosto strani nella compilazione del codice in gcc. Mi dice che std::function
non esiste.non è un elemento di std
posso ricreare l'errore con il seguente codice:
#include <functional>
#include <stdio.h>
void test(){ printf ("test"); }
int main() {
std::function<void()> f;
f = test;
f();
}
Se corro gcc (da Cygwin):. (Il mio messaggio di errore era tedesco, così ho tradotto Può essere suono diverso su un inglese 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
Con MSVC è stato compilato correttamente. Per favore dimmi cosa sto facendo male nel mio codice.
Johannes
Stai compilando con C++ 11? – chris
no, se faccio'gcc -std = C++ 0x test.cpp' getta un mucchio di errori di linker che non capisco – EGOrecords
Hai bisogno di 'g ++', non 'gcc', vedi le risposte di seguito. – juanchopanza