2013-10-07 83 views

回答

17

代碼沒有問題。

not false and true相當於!false && true1。然後您使用std::string::operator=(char)將值分配給xchar的值爲1顯然意味着您的系統上會出現一個笑臉。

+0

有關記錄,此代碼不會在MSVC 2010上編譯,抱怨'不'和'和'不是關鍵字。 –

+0

@WilliamCustode:爲了記錄,這是自2008版以來的msvc中的一個bug。可以通過包含定義'not','和'等的3rdparty頭部來修復。根據[boost forums list](http ://boost.2283326.n4.nabble.com/the-not-keyword-td3865759.html),'#include '應該修復它。 – SigTerm

+0

啊,很高興知道。我儘可能多地假設,但是找不到任何來自MS的消息,聲稱這是一個已知的錯誤。如果它是一個標準,你應該參考提及它的標準部分。 –