L
Lei Jiang
I am upgrading our system from VC++ 6.0 to VC++7.0, and found some code
can't be compiled, for example :
template<class T>
class QMemArray<T>
{
public :
......
int count();
}
template<class T>
class Array : public QMemArray<T>
{
......
}
#if _MSC_VER > 1300
template <> class Array<ToolBarInfo> // Partial Implementation to make
the compiler feel good
{
};
#endif
class APPBASE_EXPORT ToolBarTable : public Array<ToolBarInfo>
{
......
}
When I use class ToolBarTable, the compiler report that it can't find the
method "count()" of the class ToolBarTable. But it works in VC++ 6.0.
Another problem is that I have to use that "partial implementation"
otherwise the compiler will ask me to provider some operator (such as "==")
implementation of structure ToolBarInfo. Is there any method to avoid that?
Thanks!
can't be compiled, for example :
template<class T>
class QMemArray<T>
{
public :
......
int count();
}
template<class T>
class Array : public QMemArray<T>
{
......
}
#if _MSC_VER > 1300
template <> class Array<ToolBarInfo> // Partial Implementation to make
the compiler feel good
{
};
#endif
class APPBASE_EXPORT ToolBarTable : public Array<ToolBarInfo>
{
......
}
When I use class ToolBarTable, the compiler report that it can't find the
method "count()" of the class ToolBarTable. But it works in VC++ 6.0.
Another problem is that I have to use that "partial implementation"
otherwise the compiler will ask me to provider some operator (such as "==")
implementation of structure ToolBarInfo. Is there any method to avoid that?
Thanks!