First_Spectr
@First_Spectr
Студент

Как сделать перекрестные структуры?

Есть такой код
struct forFloat;

struct forInt{
forInt(forFloat arg) {x = arg.x}; //не работает, т.к. не определенна
int x;
}

struct forFloat{
forFloat(forInt arg) {x = arg.x};
float x;
}
в итоге конструктор второй структуры работает на ура, а для первой пришлось пилить отдельный метод forInt ToforInt(forFloat arg); и выглядит это не камильфо, есть ли какой нибудь способ использовать неопределенные структуры?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 2
@res2001
Developer, ex-admin
Реализацию конструкторов вынесите из описания структуры, поместите под обоими описаниями и все будет норм.
На самом деле, не понятно с какого перепуга методы first и second вы называете конструкторами? Если это должны быть конструкторы то и определяйте их как конструкторы и параметры опишите нормально, а то как-то сильно схематично получилось.
Ответ написан
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Реализацию метода отделить, плюс передавать по константной ссылке вместо копии forInt(const forFloat& arg);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы