foo.cpp: In function 'void Proc1()':
foo.cpp:104:19: error: no matching function for call to 'Num::Num(Num)'
Num num_p = Num(p);
^
foo.cpp:104:19: note: candidates are:
foo.cpp:46:1: note: Num::Num(Num&)
Num::Num(Num& num_cpy)
^
foo.cpp:46:1: note: no known conversion for argument 1 from 'Num' to 'Num&'
foo.cpp:39:1: note: Num::Num(std::string&)
Num::Num(string&str_p)
^
foo.cpp:39:1: note: no known conversion for argument 1 from 'Num' to 'std::string& {aka std::basic_string<char>&}'
foo.cpp:30:1: note: Num::Num(short int)
Num::Num(short digit_num)
^
foo.cpp:30:1: note: no known conversion for argument 1 from 'Num' to 'short int'
foo.cpp:23:1: note: Num::Num()
Num::Num()
^
foo.cpp:23:1: note: candidate expects 0 arguments, 1 provided
foo.cpp:105:19: error: no matching function for call to 'Num::Num(Num)'
Num num_q = Num(q);
^
foo.cpp:105:19: note: candidates are:
foo.cpp:46:1: note: Num::Num(Num&)
Num::Num(Num& num_cpy)
^
foo.cpp:46:1: note: no known conversion for argument 1 from 'Num' to 'Num&'
foo.cpp:39:1: note: Num::Num(std::string&)
Num::Num(string&str_p)
^
foo.cpp:39:1: note: no known conversion for argument 1 from 'Num' to 'std::string& {aka std::basic_string<char>&}'
foo.cpp:30:1: note: Num::Num(short int)
Num::Num(short digit_num)
^
foo.cpp:30:1: note: no known conversion for argument 1 from 'Num' to 'short int'
foo.cpp:23:1: note: Num::Num()
Num::Num()
^
foo.cpp:23:1: note: candidate expects 0 arguments, 1 provided