【发布时间】:2018-06-21 08:33:06
【问题描述】:
我是一些 boost 功能的新手,我在尝试将对 boost::any 的引用转换为对自定义类的引用时遇到了一些问题(现在它是空的,我仍在弄清楚类)。
很快,我有:
class MyClass
{
public:
MyClass();
~MyClass();
private:
}
MyClass function(boost::any &source)
{
if (source.type() == typeid(MyClass))
return boost::any_cast<MyClass>(source);
}
我还没有实现构造函数和析构函数,所以它们仍然是默认的。
编译时(在 Visual Studio 2017 中)我收到以下消息:
严重性代码描述项目文件行抑制状态错误 LNK2001 未解析的外部符号“public: __thiscall MyClass::~MyClass(void)”(??1MyClass@@$$FQAE@XZ) NativeToManagedBridge C:\bridge_library\testCli_sources\NativeToManagedBridge \anyHelper.obj 1
【问题讨论】:
-
你在某处有构造函数和析构函数的定义吗?如果没有,请尝试将
= default附加到两个声明中。 -
整个
any_cast业务是一条红鲱鱼,真的。 -
@StoryTeller 你是什么意思?