Я использую член двойного указателя в базовом классе. но в конструкторе производного класса я получаю ошибку
ошибка: нет соответствующей функции для вызова 'Layer :: Layer (tenor &, float &)': Layer (** tn, ** input)
// base class
class Layer
{
protected:
struct tensor **tensor_node;
float **tensor_input_activation;
public:
/* ***Constructor*** */
Layer(struct tensor **, float **);
};
Layer::Layer(struct tensor **tn, float **input)
{
*tensor_node = *tn;
*tensor_input_activation = *input;
}
// derived class from Layer
class BatchNormalization : public Layer
{
string layer_name;
public:
/* ***Constructor*** */
BatchNormalization(struct tensor **, float **, string);
/* ***Member_function*** */
float* batch_normalization_operation_function();
};
BatchNormalization::BatchNormalization(struct tensor **tn, float **input, string l_name)
:Layer(**tn, **input)
{
layer_name = l_name;
}
Как можно решить эту проблему? Как мы можем определить конструкторы, если базовый класс содержит член с двойным указателем?