2012-04-23 20 views
2

在MSVC中使用多字符常量時可能會發出警告嗎? (類似於gcc中的-Wmultichar)。或者,如果有其他解決方案來幫助查找類似以下的代碼,請讓我知道。MSVC是否提供了像gcc中的-Wmultichar?

W4這個代碼編譯沒有產生任何警告,而用gcc我能產生-Wmultichar-Wtype-limits

int main() 
{ 
    std::string s = "hello"; 
    if (s[0] == 'he') {} 
} 

(我知道的Wall但產生如此多的警告,我沒有理會。用它)

回答

2

只有在上下文中限定–以下代碼中,有兩個警告:

#include <iostream> 

int main() 
{ 
    char x = 'he'; 
    std::cout << x << '\n'; 
} 

警告C4305: '初始化':從截斷向'int''char'
警告C4309: '初始化':定值

截斷這些警告可以單獨啓用不啓用/W4/Wall

但是,對於您的問題中的代碼,即使使用/Wall也沒有適用的警告。

+0

謝謝,至少我知道這是不可能的。我提交了[功能請求](http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2794592-add-multicharacter-warning-to-msvc)。 – 2012-04-24 00:12:46

+0

@Jesse:官方功能請求應該到[MS Connect](https://connect.microsoft.com/VisualStudio/)。 – ildjarn 2012-04-24 00:17:24

+1

如果您點擊「提交想法」,它會將您帶到我鏈接到的網站。 – 2012-04-24 00:26:42

相關問題