初心者です。
下記のソースコードをコンパイルすると、下記make.logのようなエラーが出て失敗してしまいます。
func内のlist<T>をlist<int>などにするとエラーなくコンパイルできます。
どのように記述すればテンプレート関数内でIteratorが使えるようになるか、ご教授願えませんでしょうか?
■環境
・Mac OS X 10.8.5(Mountain Lion)
・Xcode 5.0インストール環境でターミナルを用いてg++を使用
■make.log
make
g++ -c ../../../m.main/main.cpp -O -Dunix -D_MAC_OSX -DNDEBUG -UDEBUG -arch x86_64 -I../../../m.main
../../../m.main/main.cpp:6:6: error: expected ';' after expression
list<T>::iterator ite;
^
;
../../../m.main/main.cpp:6:20: error: use of undeclared identifier 'ite'
list<T>::iterator ite;
^
../../../m.main/main.cpp:6:11: error: unexpected type name 'iterator': expected expression
list<T>::iterator ite;
^
../../../m.main/main.cpp:9:2: note: in instantiation of function template specialization 'func<int>' requested here
func(1);
■ソースコード
Mac-g++環境においてテンプレート関数内でIteratorを使う方法
-
ちぃ
Re: Mac-g++環境においてテンプレート関数内でIteratorを使う方法
typenameを付けたところ、正常にコンパイルできるようになりました!
ありがとうございました。
ありがとうございました。