[英]error C2664: cannot convert parameter 1 from 'int' to 'int (__cdecl *)(int)'
[英]error C2664: cannot convert parameter 1 from 'int' to 'int []'
#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];
};
};
主要:
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]);
};
我遇到了兩個錯誤:
錯誤C2664:“ amin :: deleteEvenNumber”:無法將參數1從“ int”轉換為“ int []”
IntelliSense:“ int”類型的參數與“ int *”類型的參數不兼容
請幫助並向我解釋我的錯誤。
並請為我介紹有關此問題或標題的很好的教程。
您的函數deleteEvenNumber()
需要一個int []
(即int
數組),但是您將其傳遞給它一個int
。
manipulateArrays.deleteEvenNumber(mainArray[length]);
^^^^^^^^^^^^^^^^^
|
this is an 'int', not an 'int []'
還要將length
傳遞給函數,您可能需要將函數更改為
int deleteEvenNumber(int getArray[], int length)
然后像這樣調用它:
manipulateArrays.deleteEvenNumber(mainArray, length);
或者,可以改用vector<int> mainArray
,然后可以通過mainArray.size()
輕松獲取其長度。
您的函數需要一個int[]
(數組)作為參數
int deleteEvenNumber(int getArray[length])
但是你要傳遞一個int
manipulateArrays.deleteEvenNumber(mainArray[length]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.