【问题标题】:Wrong error C2039 in VS2012 with a C++/CLI带有 C++/CLI 的 VS2012 中的错误错误 C2039
【发布时间】:2012-12-14 11:40:47
【问题描述】:

我有一个使用 C++/CLI 的项目。然后我有一个像这样的事件处理程序:

void NotificationSystemEventHandler::NotificationServiceDetailViewRequested(System::Object^ sender, Notifications::NotificationViewer::DetailViewOpenRequestedEventArgs^ e)
{
    try
    {
        switch (e->Type->ID)
        {
            (...)

DetailViewOpenRequestedEventArgs 类有一个名为Type 的属性,类型为DomainModel::CMN::NotificationType^

那么NotificationType 类有一个名为ID 的int 类型的属性。当我访问该属性时,我得到一个 C2039 说 ID 不是 NotificationType 的成员,而实际上我可以在对象浏览器上看到该属性。

唯一奇怪的是,Intellisense 在尝试查找类型时出错,并说该类型没有成员,但似乎编译器仍然可以正确解析该类型,但不能正确解析其成员。

我正在其他几个地方使用该课程。如果需要帮助澄清事情,我可以提供更多信息/图片。

这些是问题的图像:

错误信息:

对象浏览器:

错误的弹出窗口:

【问题讨论】:

  • 属性 ID 只是一个 int。
  • 项目上的引用好像有问题。参考对话框显示了一些已添加的参考(选中复选框),但它们没有出现在解决方案资源管理器上项目的参考项中....很奇怪。

标签: compiler-errors visual-studio-2012 c++-cli


【解决方案1】:

删除所有引用并将它们再次添加到项目中解决了问题....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 2017-04-18
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    相关资源
    最近更新 更多