我有以下類別:模板成員函數不接受任何類型的參數?
template<class TYPE, class IDENTIFIER>
class Parameter
{
TYPE typeValue;
IDENTIFIER ID;
};
template<class IDENTIFIER>
class ParameterSystem
{
template<typename TYPE>
void AddParameter(Parameter<TYPE, IDENTIFIER> parameter, TYPE value);
};
但是,每當我嘗試使用AddParameter,它說沒有函數重載匹配的參數list.I試過各種可能的combinations.For實例:
typedef unsigned int ResourceIndex; //I use unsigned ints to reference resources in my other(resource system)
typedef unsigned int DefaultParameterID;
typedef Parameter<ResourceIndex, DefaultParameterID> ResourceParameter;
所以後來我用這樣的:
ParameterSystem<DefaultParameterID> parameterSystem;
ResourceParameter param;
//do some stuff with param;
parameterSystem.AddParameter<ResourceIndex>(param, param.typeValue); //here it gives the error
這不起作用,智能感知告訴我,它不匹配參數列表,甚至壽它的參數列表應該是(Parameter,unsigned int),這就是它的原因。我可以做什麼錯誤?(對於那些有興趣的人,AddParameter做的是取得typeValue的值並將其設置爲一個void指針一個Map在參數系統內部,然後它將該值的映射關鍵字與參數的ID同步,並且該參數也具有對它的父參數系統的句柄,所以從它的ID和一個類型檢查+類型轉換可以始終得到參數在迴應它的ID,但是這不應該是相關的,我認爲這個問題的系統值...)
這是你的真實密碼?該函數被稱爲'AddParameter',你正在調用'Add'。另外,Intellisense不是編譯器。 *編譯器*對此有何評論? – 2013-03-15 12:30:12
噢,我編輯它,對此感到遺憾。 – 2013-03-15 12:33:25
void AddParameter中的IDENTIFIER的位置(參數 ... ...? –
iammilind
2013-03-15 12:35:12