По сути, у меня есть класс с именем VisaMux и класс с именем MuxPath. MuxPath имеет закрытую переменную экземпляра VisaMux. Я хочу, чтобы конструктор MuxPath назначил переменной экземпляра данный объект VisaMux без вызова пустого конструктора VisaMux ().
5 MuxPath::MuxPath(const uint& Clk_sel, const uint& Lane_sel, const VisaMux& Mux){
6 clk_sel = Clk_sel;
7 lane_sel = Lane_sel;
8 mux = Mux;
9 }
Этот код приводит к ошибке:
MuxPath.cpp:5: error: no matching function for call to ‘VisaMux::VisaMux()’
VisaMux.h:20: candidates are: VisaMux::VisaMux(const std::string&, const uint&, const uint&, const std::vector<VisaLane, std::allocator<VisaLane> >&, const std::vector<VisaResource, std::allocator<VisaResource> >&)
Как видите, в первой строке (5-я строка) появляются ошибки, поэтому кажется, что const VisaMux & Mux каким-то образом вызывает VisaMux (), которого не существует. Это также происходит, если я просто использую VisaMux Mux.
Я не хочу, чтобы он вызывал пустой конструктор для VisaMux, потому что я хочу, чтобы VisaMux создавалась только путем передачи его конструктору всех необходимых параметров.
Как я могу это сделать?