1

我在从源中的另一个点引用转换运算符时遇到了麻烦,这是一个最小的例子:

#include <string>

/*!
  Dummy struct
 */
struct A
{
    /*!
      Dummy operator.
     */
    void operator()() const {}

    /*!
      Dummy conversion operator.

      \return Nothing, really.
     */
    operator std::string() const { return std::string(); }
};

/*!
  Dummy function.

  \see A::operator()()
  \see A::operator std::string()
 */
void b()
{
    // Here I use A::operator() and A::operator std::string
    // so it would be nice to reference them in the docs.
}

函数中的第一个\see命令b()有效,结果是AHTML 输出中的 ' 运算符的链接,但第二个没有。

如何引用转换运算符?

4

1 回答 1

1

这似乎有效,使用“无用” typedef 以便 doxygen 识别stringA::string

/*!
  Dummy struct
 */
struct A
{
    typedef std::string string;

    /*!
      Dummy conversion operator.

      \return Nothing, really.
     */
    operator string() const { return std::string(); }
};

/*!
  Dummy function.

  \see A::operator string()
 */
void b();
于 2012-06-21T16:56:40.453 回答