我需要您的幫助,使用int值對模板進行參數化。C++模板參數從數組維度中扣除
這就是它的樣子:
SpriteSwitcher.h:
template<int N >
bool initWithFilesArray(std::string (&fileNames)[N],int width, const CCPoint position);
SpriteSwitcher.cpp:
template<int N >
bool SpriteSwitcher::initWithFilesArray(std::string (&fileNames)[N], int width, const CCPoint position)
{
return true;
}
,然後我嘗試用我的initWithFileArray功能
初始化類SpriteSwitcherstd::string g[2] = {"hello", "world"};
SpriteSwitcher *s = new SpriteSwitcher();
s->initWithFilesArray(g, visibleSize.width, origin);
和我得到以下錯誤:
錯誤LNK2019解析外部符號 「」 公共:布爾__thiscall SpriteSwitcher :: initWithFilesArray < 2>(類的std :: basic_string的,類的std ::分配器>(&)[2] ,int,class cocos2d :: CCPoint)「(?? $ initWithFilesArray @ $ 01 @ SpriteSwitcher @@ QAE_NAAY01V?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ HVCCPoint @ function「」public:virtual bool __thiscall MenuScreen :: init(void)「(?init @ MenuScreen @@ UAE_NXZ)」。
任何人都可以幫助我,並告訴我問題在哪裏?
你的問題不是類型扣除。你得到的是一個鏈接錯誤。看到鏈接問答 – 2013-04-30 19:55:24