[C/C++]error C2872: ‘system’ : ambiguous symbol

posted in: boost, C/C++程式設計, html | 2

會產生這個錯誤的原因,是由於function名稱跟別的library裡宣告的名稱衝到了 例如我想加入boost的file system進來使用: #include "boost/filesystem.hpp" #define BOOST_FILESYSTEM_VERSION 3 結果呼叫system時馬上就產生了這個錯誤。(因為boost的filesystem裡面已經有system這個宣告了 那麼解決方法是什麼? 很簡單,在前面加上一個name space指定就行了,如: std::system("pause"); (因為system的name space是std) ok,這樣錯誤就自動解除了 參考:http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/reference.html