Почему я не могу передать эту функцию сравнения в качестве аргумента шаблона?

Я пытаюсь создать std::set с функцией, которую я определил для сортировки, но получаю ошибку: "Error: function "GFX::MeshCompare" is not a type name"

Mesh.h

namespace GFX
{
    struct Mesh
    {
        [...]
    };

    inline bool MeshCompare(const Mesh& a, const Mesh& b)
    {   
        return ( (a.pTech < b.pTech) ||
                 ( (b.pTech == a.pTech) && (a.pMaterial < b.pMaterial) ) ||
                 ( (b.pTech == a.pTech) && (a.pMaterial == b.pMaterial) && (a.topology < b.topology) ) 
               );
    }
};

Renderer.h

namespace GFX
{
    class Renderer
    {
    private:
        [...]
        std::set<Mesh, MeshCompare> m_Meshes;

    };
};

Что я делаю не так и как это исправить?

0
задан xcrypt 18 February 2012 в 13:54
поделиться