Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么可以';ti从常量字符串返回NULL&;方法?_C++_Constants - Fatal编程技术网

C++ 为什么可以';ti从常量字符串返回NULL&;方法?

C++ 为什么可以';ti从常量字符串返回NULL&;方法?,c++,constants,C++,Constants,我有以下方法声明: const String和MyClass::GetAspect(const String和strKey)const 在这个方法中,我们决定在做一些事情之前进行空指针检查;如果这个方法中的指针是null,我们只想返回null 但是,我得到以下错误: myclass.cpp(222) : error C2440: 'return' : cannot convert from 'int' to 'const String &' Reason: cannot

我有以下方法声明:
const String和MyClass::GetAspect(const String和strKey)const

在这个方法中,我们决定在做一些事情之前进行空指针检查;如果这个方法中的指针是
null
,我们只想返回
null

但是,我得到以下错误:

myclass.cpp(222) : error C2440: 'return' : cannot convert from 'int' to 'const String &'
        Reason: cannot convert from 'int' to 'const String'
        No constructor could take the source type, or constructor overload resolution was ambiguous

有人能帮我理解吗?这里是否有我不完全理解的常量正确性概念?

NULL
不是类型为
const String
的对象,因此当需要引用
const String
时,当然不能返回它。事实上,引用的一个主要优点是它们不能(永远)为
NULL


重新定义函数以返回
常量字符串*
,或返回空
字符串

不是类型为
常量字符串
的对象,因此当需要引用
常量字符串
时,当然不能返回它。事实上,引用的一个主要优点是它们不能(永远)为
NULL

重新定义函数以返回
常量字符串*
,或返回空
字符串

NULL是指针(或者从技术上讲,整数值零可以转换为指针或从指针转换而来,
NULL PTR
是值为零的指针)

std::string&
不是指针(或整数),因此不能对其使用
NULL
。您可以返回
“未知”
或类似的内容

NULL是指针(或者从技术上讲,整数值为零,可以转换为指针或从指针转换为整数值,
nullptr
是值为零的指针)


std::string&
不是指针(或整数),因此不能对其使用
NULL
。您可以返回
“未知”
或类似的内容

引用不能为NULLUse断言以指示前提条件冲突,使用异常以指示运行时错误。引用不能为NULLUse断言以指示前提条件冲突,使用异常以指示运行时错误。或者,引发异常。请注意,您不能仅
返回“”因为调用方将以悬空引用结束。或者,引发异常。请注意,您不能仅
返回“”因为调用者将以悬空引用结束。请注意,您不能仅
返回“”,这也将产生一个空字符串。请注意,您不能仅
返回“”,这也将产生一个空字符串。