Код: Выделить всё
template
class Model;
template
class Mesh;
Если Model, членом должен быть Mesh. Если Model, то элементом может быть либо Mesh, либо Mesh.
Я пытаюсь использовать концепции чтобы решить эту проблему, и уже написал:
Код: Выделить всё
template
concept validMesh = requires (Tp model, TMp mesh)
{
std::floating_point&& std::floating_point && (std::same_as || std::same_as);
};
template
requires std::floating_point
class Mesh {
public:
Mesh() = default;
};
template
requires validMesh
class Model {
public:
Model(Mesh mesh) : mesh{ mesh } { };
private:
Mesh mesh;
};
Код: Выделить всё
Mesh mesh;
Model model(mesh);
Код: Выделить всё
Mesh mesh;
Model model(mesh);
Код: Выделить всё
Mesh mesh;
Model model(mesh);
Подробнее здесь: https://stackoverflow.com/questions/785 ... parameters