я получил ошибку компиляции, которую я не понимаю.
у меня есть комбинация файлов h / cpp, которая не содержит класс, а просто определяет некоторые служебные функции. когда я пытаюсь использовать структуру, определенную в другом классе, я получаю сообщение об ошибке:
ошибка C2027: использование неопределенного типа 'B :: C'
итак, урезанный до проблемы, h-файл выглядит так
namespace A {
void foo(B::C::SStruct const & Var);
}
определение SStruct находится в классе, который находится в другом h-файле, который, конечно, включен.
namespace B {
class C {
public:
struct SStruct { };
};
}
Странно то, что я могу нормально использовать эту структуру в других классах, кажется, она просто связана с этим одним h-файлом, который содержит только служебные функции.
что мне здесь не хватает?
спасибо!