Нет такой вещи как "пустая ссылка".У вас есть для предоставления ссылки при инициализации объекта.Поместите его в базовый список инициализатора конструктора:
class c
{
public:
c(int & a) : i(a) { }
int & i;
};
Альтернативой будет i(*new int)
, но это будет ужасно.
Редактировать: Возможно, ответитьваш вопрос, вы, вероятно, просто хотите, чтобы i
был объектом-членом, а не ссылкой, поэтому просто скажите int i;
и напишите конструктор либо как c() : i(0) {}
, либо как c(int a = 0) : i(a) { }
.