注册 登录
编程论坛 C++教室

这里函数调用为左值为什么是错的

芦苇太帅了 发布于 2013-08-30 19:05, 617 次点击
#include<iostream.h>

int array[6][4]={ {60,80,90,75},
{75,85,65,77},
{80,88,90,98},
{89,100,78,81},
{62,68,69,75},
{85,85,77,91} };

int getLevel(int grade(int grade[],int size));

int main()
{
    int typeA=0,typeB=0;
    int student=6;
    int gradesize=4;

    for(int i=0;i<student;i++)
        if(getLevel(array[i],gradesize))
        {   
            typeA++;
        }
        else
        {
            typeB++;
        }

        cout<<"number of type A is "<<typeA<<endl;
        cout<<"number of type B is "<<typeB<<endl;
        return 0;
}

int getLevel(int grade[],int size)
{
    int sum=0;
    for(int i=0;i<size;i++)
        sum+=grade[i];

    sum/=size;
    if(sum>=80)
        return 1;
    else
        return 0;
}
--------------------Configuration: pp196 - Win32 Debug--------------------
Compiling...
pp196.cpp
f:\c++文件\p196\pp196.cpp(19) : error C2660: 'getLevel' : function does not take 2 parameters
执行 cl.exe 时出错.

pp196.obj - 1 error(s), 0 warning(s)
2 回复
#2
额外覆盖2013-08-30 20:01
以下是引用芦苇太帅了在2013-8-30 19:05:47的发言:

#include

int array[6][4]={ {60,80,90,75},
{75,85,65,77},
{80,88,90,98},
{89,100,78,81},
{62,68,69,75},
{85,85,77,91} };

int getLevel(int grade(int grade[],int size));//你这里的形参是一个函数返回的值,但你下面调用时有两个实参

int main()
{
    int typeA=0,typeB=0;
    int student=6;
    int gradesize=4;

    for(int i=0;i
函数的参数个数不对


[ 本帖最后由 额外覆盖 于 2013-8-30 20:02 编辑 ]
#3
芦苇太帅了2013-08-31 11:39
大婶,谢了!!!!!!!!!
1