出於某種原因,我似乎無法在打電話給我全局模板功能 GCC ...問題的全局模板功能
在「 globals.h」定義全球功能:
template <typename T1, typename T2> inline T1 Min (const T1 & v1, const T2 & v2)
{
return v1 < v2 ? v1 : v2;
}
呼叫以從 「test.h」 定義類的函數:
#include "globals.h"
class Test
{
public:
Test()
{
int a = 2;
int b = 3;
int c = Min(a, b); //error: 'Min' was not declared in this scope
int d = ::Min(a, b); //error: '::Min' has not been declared
int e = Min<const int, const int>(a, b); //error: expected primary-expression before 'const'
int f = this->Min(a, b); //error: 'class Test' has no member named 'Min'
}
};
我該怎麼辦?
你是否在'globals.h'中包含'Test.h'? – Naveen 2011-05-04 07:39:14
不,我爲什麼要那樣做? – Ryan 2011-05-04 07:40:18
只是懷疑一個圓形的包容。否則,代碼應該很好地編譯(除了最後一個語句'int f = ...')。 – Naveen 2011-05-04 07:43:29