Как предотвратить инициализацию const-переменной по умолчанию с помощью типа класса

У меня есть пользовательский класс, который я хочу вести себя как встроенный тип.

Однако я заметил, что можно инициализировать const-переменную этого класса без указания начального значения. В настоящее время мой класс имеет пустой конструктор по умолчанию.

Вот сравнение int и моего класса foo:

int a;              // Valid
int a = 1;          // Valid
const int a = 1;    // Valid
const int a;        // Error

foo a;              // Valid
foo a = 1;          // Valid
const foo a = 1;    // Valid
const foo a;        // Should cause an error, but it compiles

Как вы видите, мне нужно предотвратить компиляцию

const foo a;

от компиляции.

Есть идеи от гуру C++?

5
задан ljbade 18 November 2011 в 12:19
поделиться