1
我有以下代碼:預期類型說明符錯誤GCC
在文件 「的defs.h」
namespace ABCD
{
template < typename T >
class TPixelSum_TraitFor
{
public:
typedef double AccumType;
};
template <>
class TPixelSum_TraitFor<MonochromeImage::PixelType>
{
public:
typedef /*unsigned*/ long AccumType;
};
}
,並在文件中 「GraphicLibrary.h」
#include "Defs.h"
using namespace ABCD;
using namespace std;
template < typename T, typename ACC_TRAIT = TPixelSum_TraitFor<T> >
class SumImage : public TImageProcessor<T>
{
public:
typedef typename ACC_TRAIT::AccumType AccumType;
private:
AccumType fSum;
};
和我收到以下錯誤
'T之前的預期類型說明符PixelSum_TraitFor」
預期 '>' 前 'TPixelSum_TraitFor'
在線路
模板<類型名稱T,類型名ACC_TRAIT = TPixelSum_TraitFor < T>>
的代碼是用g ++編譯4.8.1
Upvoted的答案,我也無法重現此錯誤。 – Ali
這可能是由於未知類型的註釋。但我只是在猜測,GCC是我不太熟悉的東西。 –
那麼,我們不應該猜測,他應該發佈一個[SSCCE](http://sscce.org/),以便我們可以診斷問題。我也投票結束這個問題。 – Ali