J'ai deux ou trois méthodes déclarées au niveau de l'espace de noms dans un en-tête pour une classe:Lien entre l'espace de noms fonctions
// MyClass.h
namespace network {
int Method1(double d);
int Method2(double d);
class MyClass
{
//...
}
}
alors défini dans
//MyClass.cpp
int
Method1(double d)
{ ... }
int
Method2(double d)
{ ... }
Ce projet compile proprement et est une dépendance pour un projet d'interface utilisateur qui utilise MyClass. Les fonctions étaient auparavant des fonctions membres de MyClass, mais elles ont été déplacées dans l'espace de noms car c'était plus approprié.
Mon problème est le projet se plaint ui quand il arrive à l'éditeur de liens:
1> network.lib (MyClass.obj): erreur LNK2001: symbole externe non résolu "réseau int __cdecl :: Method1 (double)" (? INT @ ds @ sim @@ YAHN @ Z)
1> network.lib (MyClass.obj): erreur LNK2001: symbole externe non résolu "int __cdecl network :: Method2 (double)" (? CINT @ ds @ sim @@ YAHN @ Z)
Qu'est-ce que je fais mal?
Oui c'était ça - idiot moi. D'un côté, quel effet at-il sur les fonctions de l'espace de noms? –