Bonjour,
Je travaille actuellement sur un programme en C++ qui permet différentes opérations sur les matrices : saisie à partir d'un clavier, d'un fichier, multiplication.
Les éléments des matrices sont rangés dans des vecteurs. Ensuite, ils sont remis dans l'ordre correct pour afficher la matrice.
Donc j'ai deux classes : Vector et Matrix (pas d'héritage, je me le suis imposé).
Donc tout d'abord, j'avais testé mon programme sans l'ajout de templates et il marchait trés bien mais maintenant que j'ai ajouté des templates en gros Vector est devenu Vector<T> et Matrix ->Matrix<T>, j'ai les erreurs suivantes à l'édition de liens (la compilation est OK):
------ Build started: Project: Part_2, Configuration: Debug Win32 ------
Compiling...
main.cpp
Linking...
main.obj : error LNK2019: unresolved external symbol "class std::basic_ofstream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ofstream<char,struct std::char_traits<char> > &,class Matrix<double> &)" (??6@YAAAV?$basic_ofstream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$Matrix@N@@@Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Matrix<double> &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$Matrix@N@@@Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "class Matrix<double> __cdecl operator*(class Matrix<double> const &,class Matrix<double> const &)" (??D@YA?AV?$Matrix@N@@ABV0@0@Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "class std::basic_ifstream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_ifstream<char,struct std::char_traits<char> > &,class Matrix<double> &)" (??5@YAAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$Matrix@N@@@Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class Matrix<double> &)" (??5@YAAAV?$basic_istream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$Matrix@N@@@Z) referenced in function _main
C:\Documents and Settings\Invité\Bureau\C++_Assignment\Part_2\D\Debug\Part_2.exe : fatal error LNK1120: 5 unresolved externals
Build log was saved at "file://c:\Documents and Settings\Invité\Bureau\C++_Assignment\Part_2\D\Part_2\Debug\BuildLog.htm"
Part_2 - 6 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Apparemment, cela se passe avec mes méthodes "friend" de la classe Matrix, je ne sais pas si c'est lié...
Merci d'avance à ceux qui pourront éclairer ma lanterne![]()
Partager