Lee*_*ite 4 c++ compiler-errors c++-cli visual-c++
我在C++/CLI中创建一个新的抽象类,并遇到了一个奇怪的错误.有很多类似的问题,但没有一个答案可以帮助我.
在这个新类中,我收到以下错误:
error LNK2020: unresolved token (06000002) Foo::execute
Run Code Online (Sandbox Code Playgroud)
这是h文件:
#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();
};
Run Code Online (Sandbox Code Playgroud)
这是cpp文件:
#include "StdAfx.h"
#include "Foo.h"
Foo::Foo(SerialPort^ sp)
{
this->port = sp;
}
Run Code Online (Sandbox Code Playgroud)
请注意,当我注释掉该virtual array<Byte>^ execute();行时,所有内容都会完美编译.此外,当我删除virtual修饰符并execute()在cpp文件中添加实现时,它也可以.
你自己已经给出了答案:
此外,当我删除虚拟修饰符并在cpp文件中添加execute()的实现时,它也可以工作.
您execute在标头中声明了该方法,但缺少实现方法.这正是链接器错误告诉你的.在这种情况下,声明virtual无关紧要.
如果你想创建一个抽象类,你可以在网上找到许多文章的更多细节(例如Wikibooks:Abstract Classes)
| 归档时间: |
|
| 查看次数: |
13236 次 |
| 最近记录: |