Я пытаюсь создать класс на C ++, который запрещает использование конструктора по умолчанию.
Тем не менее, я думаю, что у меня не получается, или я не понимаю, что происходит за кулисами . Вот что у меня есть на данный момент:
class Point {
public:
float x;
float y;
Point(float newX, float newY); //Definition is irrelevant
Point() = delete; //Default or "empty" constructor is forbidden, so deleted
}
/* ... */
int main(void)
{
Point a(1, 2); //Ok, should be available
Point b; //Ok, does not compile
Point c(); //Not ok, it does compile :(
}
Я предполагаю, что пункт c не компилируется. Я был бы признателен за помощь в создании такого поведения или, если это невозможно, за объяснение того, почему это так работает.
заранее спасибо
c
не является объектом. Так что c'tor по умолчанию не вызывается, не волнуйтесь. - person StoryTeller - Unslander Monica   schedule 01.12.2017