#include <iostream>
using namespace std;
class amin
{
private:
const int length = 10;
int newArray[length];
int i;
public:
int deleteEvenNumber(int getArray[length])
{
for (i = 0 ; i < length ; i++)
{
if (getArray[i] % 2 == 0)
newArray[i] = getArray[i];
i++;
};
return newArray[length];
};
};
Run Code Online (Sandbox Code Playgroud)
主要:
int main()
{
amin manipulateArrays;
int input , i = 0;
const int length = 10;
int mainArray[length];
cout<<"Please enter ten numbers :"<<endl;
for (i = 0 ; i < length ; i++)
{
cin>>input;
mainArray[i] = input;
i++;
};
manipulateArrays.deleteEvenNumber(mainArray[length]);
};
Run Code Online (Sandbox Code Playgroud)
我有这两个错误:
错误C2664:'amin :: deleteEvenNumber':无法将参数1从'int'转换为'int []'
IntelliSense:类型"int"的参数与"int*"类型的参数不兼容
请帮助并向我解释我的错误.
请向我介绍一个关于这个问题或这个标题的好教程.
你的函数deleteEvenNumber()需要一个int [](即int数组),但你把它传递int给它.
manipulateArrays.deleteEvenNumber(mainArray[length]);
^^^^^^^^^^^^^^^^^
|
this is an 'int', not an 'int []'
Run Code Online (Sandbox Code Playgroud)
要传递length给函数,您可能希望将函数更改为
int deleteEvenNumber(int getArray[], int length)
Run Code Online (Sandbox Code Playgroud)
然后把它称为:
manipulateArrays.deleteEvenNumber(mainArray, length);
Run Code Online (Sandbox Code Playgroud)
或者,你可以使用vector<int> mainArray,然后你可以很容易地得到它的长度mainArray.size().