【问题标题】:Scope Problem with Visual Assert视觉断言的范围问题
【发布时间】:2011-09-22 23:21:11
【问题描述】:

我正在尝试使用 Visual Assert 进行测试。 Visual Studio 说我要测试的方法在 main.cpp 中定义在测试夹具中未定义。

MyFunctionTest.cpp:

#include <cfixcc.h>

class ExampleTest : public cfixcc::TestFixture
{
private:

public:
    void Test()
    {
        CFIXCC_ASSERT_EQUALS(4, MyFunction(2,2));
    }
};

CFIXCC_BEGIN_CLASS(ExampleTest)
    CFIXCC_METHOD(Test)
CFIXCC_END_CLASS()

我没有为测试创建一个单独的项目,所以这两个文件是同一个项目的一部分。如何让 MyFunction 可见,以便 Visual Assert 正常工作?

【问题讨论】:

  • MyFunctiony 定义在哪里?
  • MyFunction 在 main.cpp 中定义。抱歉,如果不清楚。如果我无法控制的非技术情况不允许我将定义移动到头文件中,我可以包含 cpp 文件吗?
  • 您不需要将其移动到标题中,只需在此处声明即可。您可以将定义保留在 main.cpp 中。
  • 你可以用谷歌搜索“C++ 前向声明”。

标签: c++ visual-studio scope


【解决方案1】:

#include 声明 MyFunction() 的标头

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 2011-07-29
    • 2020-01-05
    • 2021-12-13
    • 2011-11-04
    • 1970-01-01
    相关资源
    最近更新 更多