using namespace std;
using namespace Eigen;
template<int x>
class MyClass{
typedef Matrix<float,x,x> MyMatrix;
MyClass();
MyMatrix getMatrix();
};
template<int x>
MyClass<x>::MyClass(){
int y = x+1;
MyMatrix m;
MyClass::MyMatrix mx;
}
template<int x>
MyClass<int x>::MyMatrix getMatrix(){
MyMatrix m;
return m;
}
Ich habe den folgenden Code. Unfortuantely kann die letzte decalration nicht kompilieren (getMatrix) und ich erhalte eine Fehlermeldung, dass ich eine Typname vor myClass :: myMatrix brauche, weil MyClass ein abhängiger Umfang istKann nicht vorlagenbasiert C++ Code kompilieren: Benötigter Typname vor Klasse
Changed es an:
template<int x>
typename MyClass<x>::MyMatrix MyClass<x>::getMatrix(){
MyClass<x>::MyMatrix mx;
return mx;
}
Es ist immer noch nicht kompilieren und den gleichen Fehler geben. Auch sie öffentlich gemacht
Was ist wirklich unklar über die Fehlermeldung? Schreiben Sie einfach 'typename MyClass :: MyMatrix getMatrix() {'. –
Warum werde ich downvoted? Dies ist eine berechtigte Frage – powerdog
Sie vermissen es, eine [MCVE] einschließlich wörtlicher Fehlermeldungen zu liefern, auch fehlt es offensichtlich an Forschungsanstrengungen. –