amazon

5.4.12

Visual Studio error C2676, C2679

Visual Studioでコンパイルしたらこんなエラーが出た。
error C2676: 二項演算子 '==' : 'std::string' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。(新しい動作; ヘルプを参照)
error C2679: 二項演算子 '!=' : 型 'std::string' の右オペランドを扱う演算子が見つかりません (または変換できません)。
std::stringで==や!=の比較演算子がオーバーロードされてないということらしい。


Macのg++だと問題なくコンパイル出来たファイルなのだが・・・、と思っていたが、
#include <string>
を追加していなかったのが原因。

ところで、Macのg++でコンパイルできてしまうのは自動的にstringがインクルードされているからなのだろうか?