Циклическая зависимость C++ с защитой заголовков и упреждающими объявлениямиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Циклическая зависимость C++ с защитой заголовков и упреждающими объявлениями

Сообщение Гость »


У меня есть простой класс Vec3 и простой класс xMath.

Класс xMath должен изменить Vec3. Есть только два файла: Vec3.hpp и xMath.hpp (и мне не разрешено создавать другие файлы).
[*]оба класса находятся в одном пространстве имен [*]есть защита заголовков [*]у обоих есть включения. [*]xMath не распознается [*]использование форвардных объявлений не работает, пробовал
Использование Visual Studio 2019 Community Edition.

Получение ошибок:
[*]ошибка C2027 использование неопределенного типа 'ns::xMath'Vec3.hpp
Используя предварительные объявления, все равно возникают ошибки:
[*]ошибка C2653 Vec3 не является классом или именем пространства имен [*]ошибка C2027 использование неопределенного типа 'ns::Vec3'
Вот файлы.
//Vec3.hpp #ifndef VEC3_H #define VEC3_H #include "xMath.hpp" пространство имен нс { //класс xMath; //форвардное объявление тоже не работает.. структура Vec3 { публика: плавать х; //конструктор Vec3(float x) { this.x = x; } статическое изменение числа с плавающей запятой (Vec3* v) { v->x = xMath::Change(v); вернуть т; } }; } #endif //xMath.hpp #ifndef XMATH_H #define XMATH_H #include "Vec3.hpp" пространство имен нс { //класс Vec3; //форвардное объявление тоже не работает.. статический класс xMath { публика: статическое изменение числа с плавающей запятой (Vec3* v) { вернуть v->x; } }; } #endif
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»