[C++] Includeしたはずのクラスが使えない? --- does not name a type

[C++]

#include <string>

int main()
{
    string a;
    return 0;
}

エラー:未定義のシンボル string(関数 main() )
"string" does not name a type

解決:4行目のstring をstd::stringにする。
あるいは、using namespace std;を2行目に書く。

けっこう、新しいソース書き始めでヘッダファイルを忘れたり、
名前空間を忘れたりするとこのエラーが出てきます。
ファイルは変わっても人間の頭は切り替わりにくいのですね。

#include <string>

int main()
{
    std::string a;
    return 0;
}

プログラミング言語C++第4版(2015, ビャーネ・ストラウストラップ; 初版1986)
C++の原典。言語設計者の著作だからこそ、ほかの本で「わかったつもり」になっている部分が、クリアになると思います。