使用assert()并将c-string转换为mac上的std :: string时出错

时间:2018-03-07 06:33:26

标签: c++ c++11

我提供了这段代码来测试我的库,并将其保存在名为main.cc

的文件中
override func viewWillAppear(_ animated: Bool) {

        super.viewWillAppear(animated)
        self.adjustNavigationControllerIfNeeded()
}

最后的s是将c-string转换为std :: string。但是,当我运行makefile时,编译器会给我这些错误

致命错误:预期')'

ostringstream oss; 
oss.str("");
serialize(0x123456789abcdef0L, oss);
assert(oss.str() == "l\x80\x12\x34\x56\x78\x9a\xbc\xde\xf0"s);

main.cc:21:5:注意:要匹配这个'('

assert(oss.str() == "l\x80\x12\x34\x56\x78\x9a\xbc\xde\xf0"s); 
                                                           ^

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/assert.h:93:24:注意:       从宏'断言'扩展     ( builtin_expect(!(e),0)?__ ask_rtn(__ func 文件,_ _LINE ......

我不知道如何处理这种情况。有人可以解释并帮助我。谢谢。

0 个答案:

没有答案