10 réponses
Juste histoire de donner une info supplémentaire à ceux qui rencontreraient cette erreur, comme cela a été mon cas:
vérifiez vos déclarations de fonction.
Je m'explique: j'ai déclaré en tête de programme un prototype sous la forme "void fonction(int, vector<int>, ...)"
et lorsque j'ai voulu écrire à proprement parler la fonction, j'ai écrit: "void fonction(int &i, vector<int> vec, ...)"
La seule différence du & pour faire référence à la variable a suffit pour tout faire planter et le compilateur a été incapable de me le dire!
vérifiez vos déclarations de fonction.
Je m'explique: j'ai déclaré en tête de programme un prototype sous la forme "void fonction(int, vector<int>, ...)"
et lorsque j'ai voulu écrire à proprement parler la fonction, j'ai écrit: "void fonction(int &i, vector<int> vec, ...)"
La seule différence du & pour faire référence à la variable a suffit pour tout faire planter et le compilateur a été incapable de me le dire!
6 juil. 2011 à 19:41
Je voudrais ajouter que cette erreur peut subvenir lorsque vous utilisez des références "extern"
___________________________
main.cpp
//Variable public
double nDouble ;
int main()
{
}
___________________________
CVotreClasse.cpp
//Variable public ref extern
extern double nDouble ; <====== ici il faut être sur de récupérer la même variable que déclarée précédemment.
bool CVotreClasse::Funcion()
{
nDouble = 3.2 ;
bool return true ;
}