OVH Cloud OVH Cloud

link error

5 réponses
Avatar
Christophe
bonjour
Voici un programme dont l'éditeur de liens ne veut pas :

<#include <iostream>
>int queSuisJe(int table[], int);
>int main()
>{
< const int tailleTableau = 10;
< int table[tailleTableau] = {1,2,3,4,5,6,7,8,9,10};
< int resultat = queSuisJe(table,tailleTableau);
< std::cout << "resultat = " << resultat << std::endl;
< return 1;
<}
<
<int queSuisje(int table[], int taille)
<{
< if (taille == 1)
< return table[0];
< else
< return table[taille - 1] + queSuisJe(table, taille - 1);
<}

Et voilà le message d'erreur :
>error LNK2001: unresolved external symbol "int __cdecl queSuisJe(int *
const,int)" (?queSuisJe@@YAHQAHH@Z)

Quelqu'un pourrait il me dire ce qui ne va pas ??
merci d'avance
Christophe

5 réponses

Avatar
Jean-Marc Bourguet
"Christophe" writes:

<int queSuisje(int table[], int taille)


s/queSuisje/queSuisJe/

A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Michel Michaud
Dans news:3fd9e7e5$0$19299$,
bonjour
Voici un programme dont l'éditeur de liens ne veut pas :

<#include <iostream>
int queSuisJe(int table[], int);
int main()
{
< const int tailleTableau = 10;

< int table[tailleTableau] = {1,2,3,4,5,6,7,8,9,10};
< int resultat = queSuisJe(table,tailleTableau);
< std::cout << "resultat = " << resultat << std::endl;
< return 1;
<}
<
<int queSuisje(int table[], int taille)
<{
< if (taille == 1)
< return table[0];
< else
< return table[taille - 1] + queSuisJe(table, taille - 1);
<}

Et voilà le message d'erreur :
error LNK2001: unresolved external symbol "int __cdecl
queSuisJe(int * const,int)" (?queSuisJe@@)



La casse fait toute la différence. Regarde comment tu as
écrit le nom de ta fonction aux trois endroits...


--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Avatar
Pierre Maurette
"Christophe" a écrit

<#include <iostream>
int queSuisJe(int table[], int);
int main()
{
< const int tailleTableau = 10;

< int table[tailleTableau] = {1,2,3,4,5,6,7,8,9,10};
< int resultat = queSuisJe(table,tailleTableau);
< std::cout << "resultat = " << resultat << std::endl;
< return 1;
<}
<
<int queSuisje(int table[], int taille)
<{
< if (taille == 1)
< return table[0];
< else
< return table[taille - 1] + queSuisJe(table, taille - 1);
<}


queSuisje != queSuisJe

Attention, il vaut peut-être mieux être cohérent pour ce qui est de nommer
ou non les paramètres dans les prototypes. Par exemple :

#include <iostream>
int queSuisJe( int* Tablo, const int TailleTablo );

int main()
{
const int tailleTableau = 10;
int table[tailleTableau] {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
};
int resultat = queSuisJe( table, tailleTableau );
std::cout << "resultat = " << resultat << std::endl;
return 1;
}

int queSuisJe( int* Tablo, const int TailleTablo )
{
if ( TailleTablo == 1 )
return Tablo[0];
else
return Tablo[TailleTablo - 1] + queSuisJe( Tablo, TailleTablo - 1 );
}

Cordialement,
Pierre


Avatar
Christophe
oups :-/
decidement une heure de recherche pour ne rien voir
ah les debutants....
merci à tous
a+

PS : page 302 / 1178 ça avance mais je me demande si j'ai bien fait de
sauter quelques passages ^^??
Avatar
Frederic Lachasse
"Christophe" wrote in message
news:3fd9e7e5$0$19299$
bonjour
Voici un programme dont l'éditeur de liens ne veut pas :

<#include <iostream>
int queSuisJe(int table[], int);
int main()
{
< const int tailleTableau = 10;

< int table[tailleTableau] = {1,2,3,4,5,6,7,8,9,10};
< int resultat = queSuisJe(table,tailleTableau);
< std::cout << "resultat = " << resultat << std::endl;
< return 1;
<}
<
<int queSuisje(int table[], int taille)


int queSuisJe(int table[], int taille)

<{
< if (taille == 1)
< return table[0];
< else
< return table[taille - 1] + queSuisJe(table, taille - 1);
<}

Et voilà le message d'erreur :
error LNK2001: unresolved external symbol "int __cdecl queSuisJe(int *
const,int)" (?queSuisJe@@)


Quelqu'un pourrait il me dire ce qui ne va pas ??


C++ is case sensitive. You defined a queSuisje() function and queSuisJe()
definition is missing.

--
Frédéric Lachasse -