我正在玩模板并试过以下但是'无法将'MyClass'转换为'bool'错误?
#include "Unit2.h"
using namespace std;
template <class T>
T GetMax (T a, T b) {
T result;
result = (a > b) ? a : b;
return (result);
}
int main () {
MyClass k1( 10, "A" );
MyClass k2( 50, "B" );
MyClass k3( 0,"" );
k3 = GetMax<MyClass>(k1,k2);
cout << k3.GetName() << endl;
return 0;
}
//---------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我为myclass定义了一个>运算符,如下所示:
MyClass& MyClass::operator>(MyClass &rhs)
{
MyClass& rkReturn = ( m_iSize > rhs.m_iSize ) ? *this : rhs;
return rkReturn;
}
Run Code Online (Sandbox Code Playgroud)