[英]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.