我正在使用 C++/CLI(9.0 版)编写一个 .NET 程序集,并且我想使用 PIMPL 习惯用法来避免在我的公共标头中放置不必要的东西。不幸的是,当我尝试转发声明一个类,然后对其使用跟踪句柄时,我收到链接器警告 4248:
警告 LNK4248:“MyNamespace.PrivateClass”的未解析 typeref 令牌 (0100000E);图像可能无法运行
无论我对实现类使用 CLI 类还是本机类,这似乎都是这种情况。
示例代码如下所示:
namespace MyNamespace
{
ref class PrivateClass; // forward dec
ref class MyPublicClass
{
private:
PrivateClass^ m_Imp;
};
}
不幸的是,微软对警告的解释并没有提供太多信息。