我有以下代碼與GCC 4.2/XCode編譯。GCC 4.2模板奇怪的錯誤
template <typename T>
class irrProcessBufferAllocator
{
public:
T* allocate(size_t cnt)
{
return allocProcessBufferOfType<T>(cnt);
}
void deallocate(T* ptr)
{
if (ptr)
{
releaseProcessBuffer(ptr);
}
}
void construct(T* ptr, const T& e)
{
new ((void*)ptr) T(e);//"error: expected type-specifier before 'e' " and
//error: expected `;' before 'e'
}
void destruct(T* ptr)
{
ptr->~T();//error: expected class-name before ';' token
}
};
我真的不知道如何解決錯誤。 請幫忙,
謝謝。
stddef沒有丟失,在包含頭後問題依然存在 –
Raxvan
2010-10-22 08:57:22
@Raxvan:發佈更新了錯誤的可能原因 – visitor 2010-10-22 09:09:26
謝謝,這是問題.... :),通過改變類型 – Raxvan 2010-10-22 09:12:41