当前位置: 技术问答>linux和unix
C++可以根据返回值来区分不同的函数吗?
来源: 互联网 发布时间:2016-09-08
本文导语: C++ 可以根据返回值来区分不同的函数??? template inline Int8 CDataConvertor::StrToInt(const UInt8* pBuf, UInt8 uLen) { return (StrToIntByAtoi(pBuf, uLen)); } template inline Int16 CDataConvertor::StrToInt(const UInt8* pBuf, UInt8 uLen) { ...
C++ 可以根据返回值来区分不同的函数???
template
inline Int8 CDataConvertor::StrToInt(const UInt8* pBuf, UInt8 uLen)
{
return (StrToIntByAtoi(pBuf, uLen));
}
template
inline Int16 CDataConvertor::StrToInt(const UInt8* pBuf, UInt8 uLen)
{
return (StrToIntByAtoi(pBuf, uLen));
}
template
inline Int32 CDataConvertor::StrToInt(const UInt8* pBuf, UInt8 uLen)
{
return (StrToIntByAtoi(pBuf, uLen));
}
|
楼上的别误导,不能通过返回值来区分函数的。
打个比方, int fun(); 和 char fun();
调用者很可能这样调用函数
fun();
如果通过返回值来区分,这时候编译器就不知道该怎么办了
所有不能通过返回值来区分函数的。
打个比方, int fun(); 和 char fun();
调用者很可能这样调用函数
fun();
如果通过返回值来区分,这时候编译器就不知道该怎么办了
所有不能通过返回值来区分函数的。
|
返回值类型不属于函数的 signature,
对于通过重写成员函数写改变了返回值类型的, 称为返回值协变,
是一个技术.
对于通过重写成员函数写改变了返回值类型的, 称为返回值协变,
是一个技术.
|
不能。。。。
C++ 可以通过参数不同来区分,但返回值是不行的。。
通过参数是因为在编译的时候就对函数做了重新命名。
C++ 可以通过参数不同来区分,但返回值是不行的。。
通过参数是因为在编译的时候就对函数做了重新命名。
|
楼主说的就是函数重载吧,函数重载要求函数必须是行参列表不一样,行参个数不一样,类型不一样,或者是排列次序不一样,总之是要行参列表不一样,这样才能实现重载,返回值不同不能实现重载
|
重载函数:出现在相同作用域中的两个函数,具有相同的名字而形参表不同。
不能仅仅基于不同的返回类型而实现重载。函数名和形参表完全相同,仅仅是返回类型不同,会被视为重复声明。
不能仅仅基于不同的返回类型而实现重载。函数名和形参表完全相同,仅仅是返回类型不同,会被视为重复声明。
|
不能,重载只是参数类型和个数
|
不能 函数重载 也只是判断函数 个数 类型 顺序
不判断 返回值的
不判断 返回值的
|
标示c++函数有函数名,函数返回值,参数个数,和参数类型。如果这几个有一个不同,那么就是不同的函数