,我們使用的是外部庫包含以下明確的構造函數:正在從構造函數二進制兼容刪除'顯式'?
class Chart {
public:
explicit Chart(Chart::Type type, Object *parent);
// ...
};
編譯器以下警告抱怨:
chart.h: warning #2305: declaration of 'explicit' constructor
without a single argument is redundant
它是二進制兼容的,只是刪除chart.h的explicit
關鍵字無需重新編譯庫來避免警告?我的感覺是它是安全的,因爲explicit
在這種情況下沒有任何意義。有人可以確認嗎?
關閉愚蠢的警告。 –
我想這是最好的建議:-) – dhaumann
這個警告用於完善pre-C++ 11。如果你的編譯器是pre-C++ 11,那麼你可能會遇到更嚴重的C++ 11代碼問題,所以你可能應該考慮升級。 –