prog.cpp:35:28: error: 'NotifyParam' is not a type
virtual void doCommand(NotifyParam notifyParam) = 0;
^
prog.cpp:41:28: error: 'NotifyParam' is not a type
virtual void doCommand(NotifyParam notifyParam)
^
prog.cpp: In member function 'virtual void MediatorA::doCommand(int)':
prog.cpp:45:26: error: request for member 'body' in 'notifyParam', which is of non-class type 'int'
show(notifyParam.body);
^
prog.cpp: At global scope:
prog.cpp:52:28: error: 'NotifyParam' is not a type
virtual void doCommand(NotifyParam notifyParam)
^
prog.cpp: In member function 'virtual void MediatorB::doCommand(int)':
prog.cpp:56:26: error: request for member 'body' in 'notifyParam', which is of non-class type 'int'
show(notifyParam.body);
^
prog.cpp: In function 'int main()':
prog.cpp:78:31: error: no matching function for call to 'MediatorBase::doCommand(std::tuple<const char*, int, double>&)'
it->doCommand(pp1.body);
^
prog.cpp:35:18: note: candidate: virtual void MediatorBase::doCommand(int)
virtual void doCommand(NotifyParam notifyParam) = 0;
^
prog.cpp:35:18: note: no known conversion for argument 1 from 'std::tuple<const char*, int, double>' to 'int'
prog.cpp:79:31: error: no matching function for call to 'MediatorBase::doCommand(std::tuple<const char*, const char*, int>&)'
it->doCommand(pp2.body);
^
prog.cpp:35:18: note: candidate: virtual void MediatorBase::doCommand(int)
virtual void doCommand(NotifyParam notifyParam) = 0;
^
prog.cpp:35:18: note: no known conversion for argument 1 from 'std::tuple<const char*, const char*, int>' to 'int'