2011-09-16 42 views
0

我不断收到以下错误,我不知道什么是错四处错误:控制到达非void函数的结束不知道为什么

cc1plus: warnings being treated as errors 
scene.cpp: In member function ‘Image* Scene::getpicture(int) const’: 
scene.cpp:179: error: control reaches end of non-void function 

这里是一个错误是在代码的一部分:

Image* Scene::getpicture(int index) const { 

    if(index<0 || index >maximum) 
     cout << "invalid index" << endl; 
    else { 
     return images[index]; 
    } 
} 
+0

是'图像[]'图像'或'*图像'数组的数组? –

回答

4

如果代码没有输入else语句,则不会返回任何结果。因此,您需要在最后或输入if语句时插入返回值。

3

if语句的条件为真时,函数不返回值,因为在这种情况下没有执行return语句。

您需要返回一个值(或抛出异常)。例如:

Image* Scene::getpicture(int index) const { 
    if (index < 0 || index > maximum) { 
     cout << "invalid index" << endl; 
     return NULL; // Return NULL in case of an invalid index 
    } else { 
     return images[index]; 
    } 
} 
相关问题