Как уже упоминали другие, если ваша цель состоит в том, чтобы запретить другим вызывать конструктор по умолчанию, тогда вы вообще не хотите предоставлять тело, и объявлять его не нужно, так как у вас есть другой конструктор, а компилятор не будет сгенерируйте это для вас.
Если цель состоит в том, чтобы ограничить доступ друзьям класса, то вам, вероятно, лучше всего иметь член-указатель (предпочтительно умный указатель) и установить для него значение NULL.
-
Кроме того, я не уверен, почему вы сделали это структурой, а не классом. В общем, создание чего-то структуры имеет смысл, когда вы представляете элементы данных как общедоступные, подобно C. В этом случае похоже, что у вас есть обычный класс, и в этом случае соглашение C ++ заключалось бы в том, чтобы сделать его классом.