I am using double pointer member in base class. but in derived class constructor I am getting error
error: no matching function for call to ‘Layer::Layer(tensor&, 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;
}
How can resolve this problem? How can we define constructors if the base class contains double-pointer member?