我正在尝试构建我朋友的 QT 应用程序的 OS X 版本,他在 Windows 和 Linux 上构建了该应用程序。我们都在使用 g++。我正在使用 gcc 4.2.1。不幸的是,我不知道他在构建应用程序时使用的是什么版本(那是很久以前的事了)。
任何人都可以解释为什么我会收到错误:
../../../src/dbapi/dbcore/node.h:24: error: 'dimensions' is not a type
编译以下代码时:
节点.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:
...
};
矢量.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;
}
}
...
谢谢。
编辑:抱歉,如果不清楚哪一行是第 24 行。它由 Node.h 摘录中的“违规行”注释指示。