C++ Atominer:确定返回类型是否为常量

C++ Atominer:确定返回类型是否为常量,c++,atomineer,C++,Atomineer,我使用9.00格式化代码注释,但我很难确定返回类型是否为const。声明对于MethodReturns,使用%type%将提供完整的返回类型(示例为:const int*): 方法返回 用于生成方法(VB函数)返回值说明的规则。本节中可使用以下特殊变量: %键入%方法的返回类型(const int*) %typeBase%方法的返回类型,不包括任何修饰符(int) 但是,当我使用%type%时,它会忽略常量。MethodReturns.xml中的一个示例: <Set desc="zzz A

我使用9.00格式化代码注释,但我很难确定返回类型是否为
const
。声明对于MethodReturns,使用
%type%
将提供完整的返回类型(示例为:
const int*
):

方法返回 用于生成方法(VB函数)返回值说明的规则。本节中可使用以下特殊变量:

%键入%方法的返回类型(const int*)
%typeBase%方法的返回类型,不包括任何修饰符(int)

但是,当我使用
%type%
时,它会忽略
常量。MethodReturns.xml中的一个示例:

<Set desc="zzz A %type%" />
我尝试过所有其他变体:
%typeBase
(来自MethodReturns.xml),甚至还有
%retTypeBase%
%retType%
%typeBase%
%specialType%
(在方法.xml中记录方法时确定返回类型时提到了这些变体),但这些变体都不包括
const

我还尝试了其他几种类型(
double
std::string
和custom
struct
s),因此它不仅仅是
int

正如您从上面的示例中所看到的,我已经验证了我正在设置的描述肯定就是被调用的描述

此外,这似乎对Parameters.xml完全有效(确定参数类型是否为
const
);但是,它在Methods.xml中似乎不起作用(其中
%retType%
可用于确定带有修饰符的返回类型)


如何确定某个方法是否返回一个
常量?

这显然是Atomineer中的一个bug,在最新版本(9.21.3.1510)中仍然可以复制。在他们编写的规则和模板文档中,
MethodReturns.xml
中的
%type%
变量应始终解析为完整类型(也包括常量修饰符)。这里的例子

%键入%方法的返回类型
(const int*)

甚至使用常量修饰符,应该解析为
(const int*)
——但不是。默认的
MethodReturns.xml
在没有任何修改的情况下仍然存在问题(即使使用了
%retType%
,但文档中根本不包含它-但它的行为仍然相同:文档中没有显示常量修饰符)


我建议通过网站上的电子邮件联系Atomineer Pro文档的支持人员(support@atomineerutils.com)并向他们报告这个问题。

道歉@Tas-这确实是Atomineer的倒退,我们在听到它的那天就解决了这个问题。我没有注意到你在这里的帖子,否则我们会很快解决问题。如果您将来有任何问题,请直接与我们联系(我们的电子邮件地址在上),以便我们能够快速帮助您


(修复程序将出现在v9.22中,不久将发布)

关于
int*const
int*const
的情况如何。也就是说,您一般都尝试过指针吗?在上面的示例中,
AtomineerPls()
是使用和不使用
const
修饰符来定义的。您能否尝试在上面的示例中将
int-AtomineerPls()
重命名为
int-AtomineerPls2()
,并检查这是否修复了
const-int-AtomineerPls()
的文档?我必须指出我已经尝试了指针和引用,并且函数的名称没有任何更改。感谢您的输入。很高兴知道不只是我一个人:我以为我疯了!我已经接受了您的回答并联系了Atomineer,当我得到回复时,我可能会添加我自己的回答,提供更多信息/确定日期/解决方法等。谢谢@Constantin。问题已经解决(将在v9.22中解决)-直到助教直接联系我们,我们才意识到问题。
//! \brief  Performs the action.
//! \return zzz an int.
int PerformAction();

//! \brief  Performs the different action.
//! \return zzz an int.
const int PerformDifferentAction();

//! \brief  Practise action.
//! \return zzz A std::string&amp;
std::string& PractiseAction();

//! \brief  Attempt action.
//! \return zzz A std::string&amp;
const std::string& AttemptAction();

struct Success;

//! \brief  Performs the action with tips action.
//! \return zzz A success*.
Success* PerformActionWithTips();

//! \brief  Succeed at action.
//! \return zzz An int*.
const int* SucceedAtAction();