2013-09-23 112 views
1

Clang和GCC都可以檢查printf樣式函數的格式字符串與參數之間的不匹配。例如,他們會抱怨這樣的語句:編譯時檢查Boost.Format

printf("Hello, %s!\n"); 

是否任何類似存在Boost.Format?換句話說,有沒有編譯器開關,靜態分析工具等,可以警告有關代碼像

std::string s1 = str(boost::format("Hello, %s!")); 

std::string s2 = str(boost::format("Hello, %s!") % "John" % "Doe"); 

回答