Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"class::identifier" : недопустимое объявление using в области, отличной от класса
Замечания
Вы неправильно использовали объявление using .
Эта ошибка может быть создана в результате работы с соответствием компилятора, которая была выполнена для Visual Studio 2005: объявление вложенном типе больше using недопустимо. Необходимо явно указать каждую ссылку, которую вы делаете вложенном типе, поместить тип в пространство имен или создать тип.
Примеры
В следующем примере возникает C2885.
// C2885.cpp
namespace MyNamespace {
class X1 {};
}
struct MyStruct {
struct X1 {
int i;
};
};
int main () {
using MyStruct::X1; // C2885
// OK
using MyNamespace::X1;
X1 myX1;
MyStruct::X1 X12;
typedef MyStruct::X1 abc;
abc X13;
X13.i = 9;
}
Если вы используете ключевое using слово с членом класса, C++ требует определить этот член внутри другого класса (производный класс).
В следующем примере возникает C2885.
// C2885_b.cpp
// compile with: /c
class A {
public:
int i;
};
void z() {
using A::i; // C2885 not in a class
}
class B : public A {
public:
using A::i;
};