テンプレートを使ったコードをビルドしようとして???ってなってる

コメントで返信するには、的を外している上に、長くなったので、こっちで。

id:E_Mattsan さんから頂いたコメントを読んだ後、おぉあのデフォルト値を与える行のコンパイルエラーはVC特有なのか、と愚かな誤解をしまして・・・。VCで実行していたコードをFedoraに持っていき、gccでビルドを試みていました(何をしているのか・・・)

gccコンパイルすると、利用する型に合わせたコードがテンプレートから生成されている最中に、undefinedのエラーが出まくりです。なんだこりゃ。

VCとgccコンパイル時の違いメモ

その1

VCではこれで通るけど、

template<class T, class A = allocator1<T>> class vector1 {
	// ...
}

gccではこうしないとダメ。

template<class T, class A = allocator1<T> > class vector1 {
	// ...
}

閉じカッコが間にスペースを挟まずに続くと、operator>>とみなされるのでしょうか?

その2

関数の宣言部と定義部の両方で、テンプレート引数にデフォルト値を与えると、エラーになる。宣言部だけにする。

↑が、E_Mattsanさんご指摘のお話ですね。勉強になりました。。。