2010-11-06 30 views
1

我的老師的助推測試出現問題。 當我調試項目中,我得到一個錯誤在這行:BOOST_AUTO_TEST_SUITE_END()處出現異常錯誤

BOOST_AUTO_TEST_SUITE_END() 

例外的是以下內容:

在homework2.exe

0x7521b727(KernelBase.dll):0xC0020001:字符串綁定無效。

我使用的是Visual Studio 2010的終極版和Win7專業版(與所有更新版) 這個Bug非常煩人,因爲當拋出異常時我得到了一個殭屍控制檯窗口。

對不起我的英語;)

編輯:我的測試代碼

#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選項/ CLR被打開,關閉它,你將沒有錯誤:D

+0

某些代碼可能? – 2010-11-06 09:06:40

+0

已在pastebin上傳文件 – demonking 2010-11-06 09:14:36

+0

與老師交談時,您的代碼與例外無關。 – 2010-11-06 12:20:44

回答

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()