Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

テンプレート関数では高速列挙できない

タグ: Objective-C C++

テンプレート定義に高速列挙(Fast Enumeration)構文が含まれていると、そのテンプレートが具現されるか否かに関わらずコンパイルエラーとなる(Xcode 3.1.1)。

template <typename OutputIterator>
inline OutputIterator copy(NSArray* array, OutputIterator result)
{
	for(id elem in array) // internal compile error: Bus error
	{
		*result = elem;
		++result;
	}
	return result;
}
template <typename T>
class Foo
{
public:
	void foo()
	{
		for(id elem in [NSArray array]); // internal compile error: Bus error
	}
};
スポンサーサイト

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://idlysphere.blog66.fc2.com/tb.php/155-8a523a55
この記事にトラックバックする(FC2ブログユーザー)

Appendix

タグ

Blog内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。