You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++代码报错:'getmin'未在此作用域中声明,求数组最值遇问题

解决C++中'getmin'未声明的报错及数组最值问题

报错原因及修复步骤

  • 函数类型拼写错误:你定义getmin时用了大写的Int,C++里整数类型关键字是小写的int,这会导致函数定义无效,编译器识别不到getmin。
  • 循环变量拼写错误:两个函数的循环体里都用了大写的I,应该是小写的i,这会触发未定义变量的编译错误,同时让函数逻辑失效。
  • 函数声明/定义顺序问题:如果getmin的定义在调用代码之后,编译器执行到调用语句时还不知道这个函数,需要提前声明函数原型,或者把函数定义移到调用代码之前。
  • 缺少必要头文件:使用INT32_MAX和INT32_MIN需要包含<climits>头文件,否则这些常量无法被编译器识别。

修正后的完整代码

#include <iostream>
#include <climits>

// 提前声明函数原型(若函数定义在main之后需加此声明)
int getmin(int num[], int n);
int getmax(int num[], int n);

int main() {
    int num[] = {12, 45, 7, 33, 2};
    int size = sizeof(num) / sizeof(num[0]);
    
    std::cout << "Minimum value is " << getmin(num, size) << std::endl;
    std::cout << "Maximum value is " << getmax(num, size) << std::endl;
    
    return 0;
}

int getmin(int num[], int n){
    int min = INT32_MAX;

    for(int i = 0; i < n; i++){
        if(num[i] < min){
             min = num[i];
        }
    }
    return min;
}

int getmax(int num[], int n){
    int max = INT32_MIN;

    for(int i = 0; i < n; i++){
        if(num[i] > max){
            max = num[i];
        }
    }
    return max;
}

内容的提问来源于stack exchange,提问作者ramchandra kambali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:35:18