Sto tentando di creare una versione OS X dell'applicazione QT del mio amico, che ha creato su Windows e Linux. Entrambi usiamo g ++. Sto usando gcc 4.2.1. Sfortunatamente non so quale versione abbia usato quando ha compilato l'applicazione (è passato parecchio tempo).Errore parametro modello non di tipo ('x' non è un tipo)
Qualcuno potrebbe far luce sul perché sto ottenendo l'errore:
../../../src/dbapi/dbcore/node.h:24: error: 'dimensions' is not a type
quando si compila il seguente codice:
Node.h:
template<class T,const unsigned int dimensions>
class EXPORT_DBCORE Node : public Transform<T,dimensions>
{
public:
Node(Id id,
QString& name,
QString& text = "",
// ************** Offending line: ***************
Vector<T,dimensions> position = Vector<T,dimensions>(),
Quaternion<T> rotation = Quaternion<T>())
: Transform<T,dimensions>(position, rotation)
, mId(id)
, mName(name)
, mText(text)
{
}
private:
...
};
Vector.h:
template<class T,const unsigned int dimensions>
class EXPORT_DBCORE Vector
{
public:
//! Default Constructor
Vector()
{
mpArray = new T[dimensions];
for(int i = 0; i < dimensions; i++)
{
mpArray[i] = 0;
}
}
...
Grazie.
MODIFICA: Scusa se non era chiaro quale riga fosse il numero 24. Viene indicato dal commento "Riga non valida" nell'estratto Node.h.
Puoi darci un suggerimento su quale riga nello snippet di codice è la linea 24? –
Hai incluso il file di intestazione 'Vector' nel file di intestazione' Node'? E perché usare la propria classe vettoriale, quando sia Qt che la libreria standard hanno buone classi lavorative? –
È gcc 4.2.1 il compilatore più recente che hai? Forse se passi a una versione recente di clang funzionerà o riceverai messaggi di errore migliori. – bames53