class Namespace::Class;
Зачем мне это нужно?:
namespace Namespace {
class Class;
}
Используя VС++ 8.0, проблемы компилятора:
ошибка C2653: "Пространство имен": не является именем класса или пространства имен
Я предполагаю, что проблема здесь в том, что компилятор не может определить, является ли Namespace
классом или пространством имен? Но почему это имеет значение, поскольку это просто декларация?
Есть ли другой способ переслать-объявить класс, определенный в каком-либо пространстве имен? Синтаксис выше кажется, что я "повторно открываю" пространство имен и расширяю его определение. Что делать, если Class
на самом деле не определено в Namespace
? Это приведет к ошибке в какой-то момент?