autoによるエラー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
Cr
記事: 93
登録日時: 9年前

autoによるエラー

#1

投稿記事 by Cr » 8年前

autoを試験的に使うプログラムを書いてみたのですが、次のようなコンパイルエラーが起きてしまいました。
string::size_typeをautoにしてあります。
ちなみにsize_typeにした場合は問題なくコンパイルされました。
環境はMingw5.1.6のg++コンパイラです。
ファイル名はerror.cppです。

コード:

#include <iostream>
#include <string>
using namespace std;

int main(){

	string str = "abcdefgh";
	auto it = str.find('a');
	
	return 0;
	
}
エラーメッセージ

コード:

error.cpp: In function `int main()':
error.cpp:8: error: ISO C++ forbids declaration of `it' with no type
なぜこのようなエラーが表示されたのかわかる方いたら教えてください。

xxx
記事: 26
登録日時: 9年前

Re: autoによるエラー

#2

投稿記事 by xxx » 8年前

コンパイルオプションに-std=c++0xを追加してください

アバター
Cr
記事: 93
登録日時: 9年前

Re: autoによるエラー

#3

投稿記事 by Cr » 8年前

コード:

g++ -std=c++0x error.cpp
cc1plus.exe: error: unrecognized command line option "-std=c++0x"
こうなりました...
バージョン的に対応してないんですかね?
今使ってるのはMingw5.1.6のg++コンパイラなのですが...
何かお勧めのコンパイルソフトがあれば教えてくれませんか?

しひ

Re: autoによるエラー

#4

投稿記事 by しひ » 8年前

検索してみるとMingw5.1.6に付属しているgccはバージョンが3.4くらいのものらしいですね。
autoを使うためにはgcc4.4以上が必要ですので、新しいものを入れて下さい。
最新版は4.6だったかと思います。

アバター
Cr
記事: 93
登録日時: 9年前

Re: autoによるエラー

#5

投稿記事 by Cr » 8年前

やっぱりバージョンのせいだったんですね。。。
どうもありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る