С++ заставляет две структуры ссылаться друг на друга в функциях ⇐ C++
С++ заставляет две структуры ссылаться друг на друга в функциях
У меня есть две структуры «pointInt» и «pointFloat», и я хочу «привести» их друг к другу с помощью функций «.toInt()» и «.toFloat()».
struct pointInt { интервал х; интервал y; pointFloat toFloat() { вернуть {(float)x, (float)y}; } }; struct pointFloat { плавать х; плавать y; pointInt toInt() { вернуть {(int)x, (int)y}; } }; Но потом я получаю сообщение об ошибке
В файле, включенном из src/include/physical.cpp:2: src/include/physical.h:66:5: ошибка: «pointFloat» не называет тип; вы имели в виду «pointInt»? Есть ли способ обойти это или есть лучший способ преобразования между этими двумя структурами?
Я пытался использовать предварительное объявление, но это тоже не сработало. Я просто получаю сообщение об ошибке, сообщающее, что тип struct pointFloat неполный.
Я также пытался определить только функцию позже, согласно этому сообщению
struct pointInt { интервал х; интервал y; pointFloat toFloat(); }; структура pointFloat { плавать х; плавать y; pointInt toInt(); }; pointFloat pointInt::toFloat() { вернуть {(float)x, (float)y}; } pointInt pointFloat::toInt() { вернуть {(int)x, (int)y}; } Но теперь я получаю сообщение об ошибке с несколькими определениями.
У меня есть две структуры «pointInt» и «pointFloat», и я хочу «привести» их друг к другу с помощью функций «.toInt()» и «.toFloat()».
struct pointInt { интервал х; интервал y; pointFloat toFloat() { вернуть {(float)x, (float)y}; } }; struct pointFloat { плавать х; плавать y; pointInt toInt() { вернуть {(int)x, (int)y}; } }; Но потом я получаю сообщение об ошибке
В файле, включенном из src/include/physical.cpp:2: src/include/physical.h:66:5: ошибка: «pointFloat» не называет тип; вы имели в виду «pointInt»? Есть ли способ обойти это или есть лучший способ преобразования между этими двумя структурами?
Я пытался использовать предварительное объявление, но это тоже не сработало. Я просто получаю сообщение об ошибке, сообщающее, что тип struct pointFloat неполный.
Я также пытался определить только функцию позже, согласно этому сообщению
struct pointInt { интервал х; интервал y; pointFloat toFloat(); }; структура pointFloat { плавать х; плавать y; pointInt toInt(); }; pointFloat pointInt::toFloat() { вернуть {(float)x, (float)y}; } pointInt pointFloat::toInt() { вернуть {(int)x, (int)y}; } Но теперь я получаю сообщение об ошибке с несколькими определениями.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение