erreur LNK2020: non résolus jeton (06000002) dans Visual C++
Je suis en création d'une nouvelle classe abstraite en C++/CLI et l'ont exécuté dans une étrange erreur. Il y a beaucoup de questions semblables à celui-ci, mais aucune réponse ne pouvait m'aider.
Dans cette nouvelle classe, j'obtiens l'erreur suivante:
error LNK2020: unresolved token (06000002) Foo::execute
C'est le h-fichier:
#pragma once
using namespace System::IO::Ports;
using namespace System;
public ref class Foo
{
protected:
SerialPort^ port;
public:
Foo(SerialPort^ sp);
virtual array<Byte>^ execute();
};
C'est le fichier cpp:
#include "StdAfx.h"
#include "Foo.h"
Foo::Foo(SerialPort^ sp)
{
this->port = sp;
}
Remarque que quand je commenter la virtual array<Byte>^ execute();
ligne, tout se compile parfaitement. Aussi, quand j'enlève la virtual
modificateur et ajouter une mise en œuvre de execute()
dans le fichier cpp, il fonctionne aussi bien.
OriginalL'auteur Lee White | 2013-03-27
Vous devez vous connecter pour publier un commentaire.
Vous avez déjà donné la réponse vous-même:
Vous avez déclaré la méthode
execute
dans la tête, mais c'est la mise en œuvre est manquant. C'est exactement ce que l'éditeur de liens d'erreur vous dit.Dans ce cas, la déclaration
virtual
n'a pas d'importance.Si vous souhaitez créer une classe abstraite, vous pouvez trouver plus de détails dans de nombreux articles en ligne (par exemple,Wikibooks: Les Classes Abstraites)
OriginalL'auteur Peopleware
Vous devez soit mettre en œuvre la méthode ou de la suppression de la déclaration de l'en-tête. (mot-clé virtuel n'a pas d'importance dans ce cas)
S'il vous plaît, poser une question, si vous en avez.
OriginalL'auteur V-X