LeetCode刷题时遇到error: control reaches end of non-void function [-Werror=return-type]的解决方法

在leetcode刷题中,自己定义的一个新函数时,会遇到这样的错误:

error: control reaches end of non-void function [-Werror=return-type]

比如:

void *sort(int *nums, int numsSize) {
     int temp;
     for(int i = numsSize -1; i > 0; i--) {
         for(int j = 0; j < i; j ++) {
             if(nums[j] > nums[j+1]) {
                 temp = nums[j];
                 nums[j] = nums[j+1];
                 nums[j+1] = temp;
             }
         }
     }
}

这是一个冒泡排序,void没有返回值的,在调用的时候是这样子的:

sort(nums, numszise)

结果:
LeetCode刷题时遇到error: control reaches end of non-void function [-Werror=return-type]的解决方法_第1张图片

会出现上面那个错误,但只要在函数后面加上return nums就可以了,

void *sort(int *nums, int numsSize) {
     int temp;
     for(int i = numsSize -1; i > 0; i--) {
         for(int j = 0; j < i; j ++) {
             if(nums[j] > nums[j+1]) {
                 temp = nums[j];
                 nums[j] = nums[j+1];
                 nums[j+1] = temp;
             }
         }
     }
     return nums; //加上类型一致的返回值
}

不要管这个返回值,也不管后面会不会用得上,加上就行,就可以正常运行了。

你可能感兴趣的:(学习笔记)