Не главная проблема, просто раздражает, так как я не хочу, чтобы мой класс создавался без особых аргументов.
#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()
Это прекрасно скомпилируется, если я добавлю конструктор по умолчанию; Я уверен, что это не вызвано неправильным синтаксисом.