簡體   English   中英

將“ this”傳遞到功能模板中,出現錯誤

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM