Durante la codifica in Visual Studio ho ricevuto un errore di simbolo esterno non risolto e non ho idea di cosa fare. Non so cosa c'è che non va. Potresti per favore decifrarmi? Dove dovrei cercare il tipo di errori?Simbolo esterno non risolto nei file oggetto
1>Form.obj : error LNK2019: unresolved external symbol "public: class Field * __thiscall Field::addField(class Field *)" ([email protected]@@[email protected]@@Z) referenced in function "public: void __thiscall Form::parse(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)
1>Form.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall Field::parse(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) referenced in function "public: __thiscall InputField::InputField(class std::basic_stringstream<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)
1>Form.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Field::prompt(void)" ([email protected]@@UAEXXZ)
1>Form.obj : error LNK2001: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Field::getName(void)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@XZ)
1>Form.obj : error LNK2001: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Field::getType(void)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@XZ)
1>Form.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Field::describe(void)" ([email protected]@@UAEXXZ)
1>C:\Users\tomy\Documents\Visual Studio 2010\Projects\zapoctovkac++\Debug\zapoctovkac++.exe : fatal error LNK1120: 6 unresolved externals
Un simbolo non risolto è quello che hai dichiarato da qualche parte ma mai definito. Di solito, significa che hai incluso il file di intestazione di una libreria di terze parti ma non hai detto al linker dove trovare i file .obj corrispondenti per la libreria. – deong
Un errore piuttosto comune è che si definisce una funzione come indipendente e si dimentica il selettore di classe nel file * .cpp *: ** Si esegue questa operazione (errata): ** 'void myFunc() {/ * do stuff * /} ' ** Invece di questo (a destra): **' void A :: myFunc() {/ * do stuff * /} ' –
Puoi anche aggiungere parentesi direttamente nel tuo file ** header ** se non lo fai voglio definirlo di più nel tuo file .cpp, in questo modo: 'void myFunc() {};'. – Patapoom