我尝试从其他对象传递给对象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> ]
我在这里做错了什么,为什么我不能将指针传递给引用?
答案 0 :(得分:0)
这似乎是const的问题(你可能试图从另一个const成员函数调用StopAndRemoveParticals
),以及尝试获取对this
指针的引用的问题。 / p>
代码似乎不需要引用指针,因此首先要删除它们。解决const问题需要您在调用StopAndRemoveParticals
的函数中进行修改。