2004/01/12 (月)
(/_;) std::vector<std::vector< typename T >>
VC++ 6.0 では、std::vector<std::vector< typename T >> がコンパイルエラー。2次元配列くらい作らせてくれてもいいじゃんかよぅ。
仕方ないので、std::vector< typename T > を typedef で宣言すると通るらしい。むぅ。
VC++ 7.x だと直ってるんだろうなぁ、きっと。
もっとも、こういう富豪的プログラムがどうかと言われると…微妙なんだよなぁ…。まだ何もしないプログラムなのに使用メモリ 7MB 超えてたりするしなぁ…。
低レベルな部分はもうちょっと低レベルらしく C 風味でコード書いたほうがいいのかも…。
[]
std::vector<std::vector<T> > のように、>> の間にスペースをいっこかませれば通る気がするのです
うわー、本当だ…。
std::vector<int> fuga; // ok.
// std::vector<std::vector<int>> hoge; // compile error
std::vector<std::vector<int> > piyo;
って、何ででしょう? C++ の仕様ですか?VC++ のバグですか?
というか、日記見てたんですね (;´Д`)
gcc 先生(g++ (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5))に尋ねたところ、
> `>>' はテンプレートクラス名は `> >' とすべきです
警告どまりか…。gcc の親切なのか、作者の好みに反するのか……。
勝手に本を見させていただきます>valda 氏