[英]Pass 'this' into function template, gives error
我嘗試this
對象的其他對象傳遞給功能模板,但它一直給我編譯錯誤。 這是我的模板函數的樣子:
在標題中
template<class T>
void StopAndRemoveParticals(ParticleSystemQuad* &emitter,T* &parent);
在C ++中
template<class T>
void ParticleFactory::StopAndRemoveParticals(ParticleSystemQuad* &emitter,T* &parent)
{
bool ParticlesEmitterIsActive = emitter->isActive();
if(emitter!= NULL)
{
particaleTagName tag = (particaleTagName)emitter->getTag();
parent->m_Parent->removeChildByTag(emitter->getTag());
}
}
從Some對象調用此函數:
1>\projects\game\classes\solutioncontainer.cpp(114): error C2664: 'void ParticleFactory::StopAndRemoveParticals<SolutionContainer>(cocos2d::ParticleSystemQuad *&,T *&)' : cannot convert parameter 2 from 'SolutionContainer *const ' to 'SolutionContainer *&'
1> with
1> [
1> T=SolutionContainer
1> ]
我在這里做錯了什么,為什么我不能傳遞指向引用的指針?
這似乎既是const的問題(您可能正在嘗試從另一個const成員函數調用StopAndRemoveParticals
),又是試圖獲取對this
指針的引用的問題。
該代碼似乎不需要引用指針,因此請先刪除它們。 解決const問題將需要您在調用StopAndRemoveParticals
的函數中進行修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.