C++ 错误:从';柜台';到非标量类型';CountDn';在c++;
为什么我会得到这个错误? 这个错误是什么意思?我如何解决它 当我使用重载的'+'运算符时,我得到了给定的错误,而当我使用'--'时,结果很好 在CountDn类中实现了运算符重载-,但没有实现++ CountDn类中缺少++的运算符重载 你必须加上C++ 错误:从';柜台';到非标量类型';CountDn';在c++;,c++,inheritance,C++,Inheritance,为什么我会得到这个错误? 这个错误是什么意思?我如何解决它 当我使用重载的'+'运算符时,我得到了给定的错误,而当我使用'--'时,结果很好 在CountDn类中实现了运算符重载-,但没有实现++ CountDn类中缺少++的运算符重载 你必须加上 37:14: error: conversion from ‘Counter’ to non-scalar type ‘CountDn’ requested CountDn c3 = ++c2; 修改后 CountDn operator ++ (
37:14: error: conversion from ‘Counter’ to non-scalar type ‘CountDn’ requested
CountDn c3 = ++c2;
修改后
CountDn operator ++ ()
{return CountDn (++count);}
结果
c1=0
c2=100
c1=3
c2=98
c3=99
Program ended with exit code: 0
属于计数器
类型,并且没有从计数器
到计数器DN
的转换。
下一行编译为ok:
Counter operator ++ ()
{return Counter (++count);}
c1=0
c2=100
c1=3
c2=98
c3=99
Program ended with exit code: 0
Counter operator ++ ()
{return Counter (++count);}
Counter c3 = ++c2;