获取控制权到达非无效函数警告的末尾,尽管我在 th 函数中有返回语句
Getting control reaches end of non-void function warning though I have return statements in th functions?
我正在编译一个 c++ NodeList 类,我收到警告"控制到达非无效函数的末尾",但我确实在给出错误的函数中有返回语句,我不清楚是什么导致了错误。
我尝试将 return 语句放在 for 循环中,该语句应该通过在函数到达它时中断函数来工作,并尝试使用单独的指针。
DataType * ArrayList::insertAfter(const DataType & target,const DataType & value){ // *This function replaces an array element with a parameter (DataType objects)* //
for(size_t i = 0 ; i < m_size ; i++){
if (m_array[i] == target){
m_array[i+1] = value;
return &m_array[i+1];
}
}
}
我希望文件能够编译,但警告会阻止这种情况。
将我的评论变成答案:
如果从不满足if
条件或for
循环从未运行,则return
可能不会执行。
因此,您应该在for
循环结束后返回一些默认值(在这种情况下可能nullptr
?另一种选择是引发异常。
相关文章:
- 在哪里放置我的函数?进入我的母语 Gui 还是进入我的演示者?
- 在 C++ 中声明 const 对象需要用户定义的默认构造函数.如果我有一个可变成员变量,为什么不呢?
- binary_search() 函数在我的函数体中不起作用
- 没有参数的构造函数给我错误
- 我正在尝试学习如何在 c++ 中传递指针,但出现错误:没有用于调用"test"的匹配函数。我做错了什么?
- 我可以说服自动生成的构造函数将我的 POD 类成员归零吗?
- 当我从头文件和实现文件调用我的函数到我的主文件时,我没有得到任何输出
- 将指针传递给函数 - 为什么我无法打印地址?
- SFML c ++ 当包含文件内游戏中发生事件时,如何使用铃声函数为我的游戏创建声音类?
- 为什么不调用预期的函数?我是否对类型特征的理解不正确?
- C ++中的函数为什么我的编译器无法识别错误()
- 函数在我的矩阵中自动分配值
- Java opencv inRange 阈值函数将我的图像分成三个不同的图像
- 对于我的类函数,我得到双重释放或损坏错误
- 如果它被定义为 C++ 类中的成员函数,我得到了"non-standard syntax; use '&' to create a pointer to member"
- 示例自定义共享_ptr-我如何传递构造函数参数 - 我在此处使用variadic模板
- C++ 我的函数在我的 Image 类中工作,但不在主例程中工作
- 挂钩 winapi 函数显示我 dllimport 错误
- SFINAE 消除、Constexpr 和函数模板:我可以将声明和定义分开吗?
- 如何将字符设置为函数?我对语法感到困惑...设置<char>max_freq(映射<字符,整数>频率)