fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class BaseClass
  5. {
  6. public:
  7. virtual std::string ClassName()
  8. {
  9. return "BaseClass";
  10. }
  11. };
  12.  
  13. class DerivedClass : public BaseClass
  14. {
  15. public:
  16. std::string ClassName() override
  17. {
  18. return "DerivedClass";
  19. }
  20. };
  21.  
  22. template<class cT>
  23. std::string StatusPrint ( cT object, const std::string& message)
  24. {
  25. return object.ClassName(); // Here's where my issue arises.
  26. }
  27.  
  28. int main() {
  29. DerivedClass test;
  30. cout<< StatusPrint(test, "test"s)<<endl;
  31. //cout<< StatusPrint<DerivedClass>("test"s)<<endl;
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5676KB
stdin
Standard input is empty
stdout
DerivedClass