模版函数编译报错


  • OpenFOAM讲师

    各位老师好,我在/lagrangian/intermediate/clouds/Templates/KinematicCloud中添加了一个函数setInjectorsSize
    KinematicCloud.H

                void setInjectorsSize(const label newSize);
    
    

    KinematicCloud.C

    template<class CloudType>
    void Foam::KinematicCloud<CloudType>::setInjectorsSize(const label newSize)
    {
        //more delete less extend 
        injectors_.setSize(newSize);
    }
    

    编译通过了
    但是在DPMFoam里面使用该函数时:

            label size=2;
            KinematicCloud.setInjectorsSize(size);
    

    出现了编译错误:

    argument list for class template "Foam::KinematicCloud" is missing
    

    我测试了KinematicCloud.H内的诸多函数
    发现只有evolve函数没有报错,其它函数都会报相同的错误,希望大家指点一下



  • 小写?

        KinematicCloud.setInjectorsSize(size);
    
        kinematicCloud.setInjectorsSize(size);

  • OpenFOAM讲师

    还真是,大意了@东岳


Log in to reply