1

我对老师的提升测试有疑问。当我调试我的项目时,我在这一行得到一个错误:

    BOOST_AUTO_TEST_SUITE_END()

例外情况如下:

homework2.exe 中的 0x7521b727 (KernelBase.dll):0xC0020001:字符串绑定无效。

我正在使用 Visual Studio 2010 终极版和 Win7 专业版(包含所有更新)这个错误非常烦人,因为当抛出异常时我得到一个僵尸控制台窗口。

对不起我的英语不好 ;)

编辑:我的测试代码

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <string>

BOOST_AUTO_TEST_SUITE( easy_stringtest)

BOOST_AUTO_TEST_CASE( length_test)
{
    std::string s("xyz");
    BOOST_CHECK(s.length() ==3);
}

BOOST_AUTO_TEST_CASE( same)
{
    std::string s("abc");

    BOOST_CHECK(s == "abc");
}


BOOST_AUTO_TEST_SUITE_END()

编辑:我犯了我的错... IDE Option /clr 已打开,将其关闭,您将没有错误:D

4

1 回答 1

0

我改变了我的包含;我的老师告诉我问题出在我的二进制文件上。

当其他人遇到同样的问题时,解决方案是:

新代码:

#define BOOST_TEST_MAIN
#include <boost/test/included/unit_test.hpp>
#include <string>

BOOST_AUTO_TEST_SUITE( easy_stringtest)

BOOST_AUTO_TEST_CASE( length_test)
{
    std::string s("xyz");
    BOOST_CHECK(s.length() ==3);
}

BOOST_AUTO_TEST_CASE( same)
{
    std::string s("abc");

    BOOST_CHECK(s == "abc");
}


BOOST_AUTO_TEST_SUITE_END()
于 2010-11-09T10:36:11.473 回答