【问题标题】:Xml comment cref to unknown symbolXml 注释 cref 到未知符号
【发布时间】:2012-02-05 22:02:17
【问题描述】:

试图通过我的项目并扩展文档,并且有以下情况:

//TestClass.h
namespace Test {
    public enum class TypeOne {

        /// <summary>
        /// Description <see cref="Test::TypeTwo">TypeTwo</see>
        /// </summary>
        AAA
    };
    public enum class TypeTwo {
        BBB
    };
}

cref 产生以下错误:

警告 C4638:XML 文档注释应用于“Test.TypeOne.AAA”:引用未知符号“Test::TypeTwo”。

有没有办法让 xml 文档识别 TypeTwo?我只是将 TypeTwo 放在 TypeOne 之上,但 TypeTwo 也作为 TypeOne 的 cref,所以我会回到同样的情况。

我是不是很傻?

【问题讨论】:

    标签: c++-cli xml-documentation


    【解决方案1】:

    您可能需要像处理 C++ 中的此类循环引用一样处理这种情况:在 TypeOne 之前前向声明 TypeTwo(但不要定义它)。

    【讨论】:

    • 很遗憾,您不能在 c++/cli 中转发声明枚举。
    • 供参考,错误为C2599 并且该语法是C++11允许的,在语法中称为opaque-enum-declaration
    • 酷。我的理解是这仅适用于 Visual Studio 11 及更高版本正确吗?
    • @kylehayward:C++11 的大部分内容将包含在 VC++ 2011 中,但不知道这个特定规则是否会。
    【解决方案2】:

    我认为无论源文件语言如何,XML 文档都可能使用 C# 的作用域表示法(错误消息确实如此),所以不妨试试Test.TypeTwo

    【讨论】:

    • c++/cli xml cmets 使用 c++ 范围表示法。不过谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2010-09-21
    • 2017-01-16
    相关资源
    最近更新 更多