我正在使用谷歌测试在eclipse g ++中进行单元测试.当我尝试在我设计的课程中对自我分配检查进行单元测试时,我收到了错误.
像往常一样,重载是非常标准的,看起来像这样:
CLASS operator=(const CLASS& rhs);
Run Code Online (Sandbox Code Playgroud)
当我试图在测试中有这个:
CLASS A;
A = A; //compile error here, saying self assignment to itself. have no clue why, though.
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种特定的自我分配测试方法.谢谢.
仅供参考,以下是错误的快照

Mik*_*han 15
自我指定声明x = x; 当然,这不是C++中的错误,并且您在此处没有任何编译器错误.
如果运行项目的构建并查看"IDE 控制台" 选项卡中的输出,而不是" 问题"选项卡,则会看到编译器未报告此类错误.除非它确实报告了一些错误,否则您的项目将成功构建.
如果查看" 问题" 选项卡下报告的自我分配错误,您将看到其类型是代码分析问题,而不是C/C++问题.这意味着问题由Eclipse CDT Code Analyzer(Codan)报告,而不是由编译器报告.
Codan将自我分配报告为错误,因为自我分配几乎总是编程错误.但在你的情况下,这是故意的.
你有两个选择:
要做2):
| 归档时间: |
|
| 查看次数: |
2796 次 |
| 最近记录: |