J'ai une classe en C++/CLI que j'aimerais donner à une propriété. Je veux déclarer la propriété dans un fichier d'en-tête, puis implémenter cette propriété dans un fichier .cpp.Comment transférer une propriété en C++/CLI?
est ici l'en-tête:
public ref class Dude
{
static property Dude^ instance
{
Dude^ get();
}
}
Si je déclare le fichier d'en-tête et ne mettez rien dans le cpp, je reçois l'erreur suivante:
1>Dude.obj : error LNK2020: unresolved token (06000001) Test.Dude::get_instance
De cela, je conclus que je doit implémenter la propriété comme
static Lock myInstanceLock;
Dude^ Dude::get_instance()
{
if(myInstance == nullptr)
{
myInstanceLock.lock();
if(myInstance == nullptr)
{
myInstance = gcnew Dude();
}
myInstanceLock.unlock();
}
return myInstance;
}
Cependant, lorsque je compile ce code, j'obtiens un tas d'erreurs. La première erreur (les autres sont le résultat du premier) est:
1>.\Dude.cpp(13) : error C2039: 'get_instance' : is not a member of 'Test::Dude'
Quelqu'un peut-il faire la lumière sur ce problème?
Merci pour votre aide! –