C2886 - Wieso klappt das nicht?
-
Hallo Forum,
wieso funktioniert folgendes nicht?
**
test.cpp**#include <memory> class MyClass { using std::tr1::shared_ptr; shared_ptr< int > m_int_ptr; }; // MyClass int main() { }Hier wird mir vom Compiler (MSVC90) immer der Compilerfehler C2886 vorgeworfen (für die Zeile
using ...)
Warum funktioniert das nicht?
-
using in Klaasendefinitionen kann nur für Bezeichner in Basisklassen verwendet werden. std::tr1 ist keine Basisklasse von MyClass.
An dieser Stelle könntest du übrigens auch mit typedef arbeiten.