小编dre*_*ely的帖子

从C++方法返回未定义的值

我有一个类的形式

template <typename T>
class c {

    bool hasChild = *something*;
    T *child;

public:

    T getChild() {
        if(hasChild) {
           return *child;
        } else {
           return 0; // <<-- this line
        }

}
Run Code Online (Sandbox Code Playgroud)

我的实际班级非常不同,但这代表了我更简单的具体问题.当hasChild为false时,getChild将返回未定义的值.但是由于c ++没有像Java和其他语言那样的NULL值,我不确定我能返回什么,因为我没有其他类型为T的对象的引用,因为它是一个模板而无法构造一个.根据API的要求,该方法method必须返回类型为T的对象,因此更改方法签名以返回其他堆栈溢出帖子上建议的T*不是一种选择.

谢谢!

c++ templates undefined

0
推荐指数
1
解决办法
514
查看次数

标签 统计

c++ ×1

templates ×1

undefined ×1