C ++標準リストとdefault-constructible型も参照してください
大きな問題ではありません。特定の引数なしでクラスをインスタンス化したくないので、迷惑です。
#include <map>
struct MyClass
{
MyClass(int t);
};
int main() {
std::map<int, MyClass> myMap;
myMap[14] = MyClass(42);
}
これにより、次のg ++エラーが発生します。
/usr/include/c++/4.3/bits/stl_map.h:419:エラー:「MyClass()」の呼び出しに一致する関数がありません
これは、デフォルトのコンストラクターを追加すると問題なくコンパイルされます。私はそれが間違った構文によって引き起こされたのではないと確信しています。