次のコードがあります。
#include <utility>
#include <list>
#include <iostream>
class Pair: public std::pair<unsigned int, unsigned int>{
Pair (unsigned int h, unsigned int l) : pair(h,l){};
};
class PairList: public std::list<Pair>{};
int main(int argc, char** argv){
PairList pl = {{800,400},{800,400}};
}
コマンドラインで v4.6 の MinGW g++ を使用してコンパイルすると
g++ -std=c++0x Test.cpp -o test.exe
、エラーが発生しまし
error: could not convert '{{800, 400}, {800, 400}}' from '<brace-enclosed initializer list>' to 'PairList'
た
list<pair<unsigned int,unsigned int>> pl = {{800,400},{800,400}};
。
なんてこと?