У меня есть основная программа, которая использует два класса шаблонов Trans и Travel, и генерирует ошибку компиляции use of deleted function 'MakeColor::MakeColor()
, а также: note: 'MakeColor::MakeColor()' is implicitly deleted because the default definition would be ill-formed
. Как я могу это исправить?Что вызывает сообщение об ошибке функции функции?
Класс путешествия:
#include "Trans.hpp"
template<typename A, typename B, typename C>
class Travel {
public:
typedef Trans<A, B> CarType;
typedef Trans<C, int> BoatType;
typedef typename CarType::Newest NewestCar;
typedef typename BoatType::Newest NewestBoat;
};
класс Trans:
template<typename A, typename B>
class Trans {
public:
class Newest;
};
Основная программа:
#include "Travel.hpp"
#include "Trans.hpp"
Travel<MakeColor, MakeMaterial, MakeSize>
struct MakeColor {
CarType::NewestCar model; // error
};
int main(){
...
}
Может быть, я плохо шаблоны, но я чувствую, что что-то не так с всей этой конструкцией: 'Путешествие структура MakeColor {...}'. Что это должно делать? –
Dialecticus