2017-04-21 82 views
-3

我想創建一個數組,用戶超出界限並執行錯誤消息。我想訪問數組的每個元素,然後一旦我越過最後一個元素,它將執行消息。 這是我迄今爲止創建一個數組超出界限

using namespace std; 
class safeArray{  //line1  
public: int array[]; //line2 
}; 

void outofBounds(int array[],int sizeofArray); //line3 

int main() {    //line4 
int array [3]={2,4,6}; //line5 

outofBounds (int array[],int sizeofArray){ //line6 
    for (int i=0;i<sizeofArray;i++){  //line7 
     i++        //line8 
    } 
    if (int i=0;i>sizeofArray){         //line9 
    cout<<"safeArray array (" <<list[0]<<","<<array[3]<<endl; //line10 
    } 
} 
return 0;} 

我越來越困惑,因爲管線6顯示爲錯誤? 。它要求一個(在sizeofArray的前面,這是爲什麼

編輯:。

提出了一些修改仍然得到一個錯誤

#include <iostream> 
using namespace std; 

class safeArray{ 
public: 
void outofBounds(int,int); 
int yourArray[3]; 
int i; 
}; 

void outofBounds(int,int); 
int yourArray[3]; 
int i; 

int main() { 
void outofBounds(int,int); 
int yourArray[3]; //Error: Unused Variable 'yourArray' 
return 0; 
}; 

void outofBounds(int yourArray[],int sizeofArray) { 

for (i=0;i<sizeofArray;i++){ 
cout<<"Please enter integer"; 
cin >>yourArray[i]; 
yourArray[i]++; 

for (i=0;i>sizeofArray;){ 
cout<<"safeArray yourArray ("<<yourArray[0]<<","<<yourArray[3]<<")"<<endl; 
    } 
}  
} 
+1

'使用命名空間std'並使用名稱'array'(在'std'中)進入故障狀態 – Jarod42

+1

顯示錯誤消息。 –

+1

你不能在另一個函數中定義一個函數:http://stackoverflow.com/questions/4324763/c-can-we-have-functions-inside-functions – vu1p3n0x

回答

2
  1. 你不使用你
  2. 當你使用數組時,你必須把數值放入它,或給它一個大小
  3. 你不能在另一個功能
  4. 當你有一個數組如array[3]={2,4,6},說array[3],沒有任何意義,數組從0開始索引0-> 2,1-> 4,2-> 6
  5. 你不是從任何地方調用你的函數,爲了使用該功能,你需要的地方調用它
  6. 看起來不像你需要一個類

沒有測試碼,因爲我不知道到底是什麼你正在嘗試實現,但這看起來更好

void outofBounds(int myArray[],int sizeofArray); 

int main() 
{    
    int myArray [3]={2,4,6}; 

    return 0; 
} 

outofBounds (int myArray[],int sizeofArray) 
{  
    for (int i=0;i<sizeofArray;i++) 
    {   
     if (int i==0 && i>sizeofArray) 
     {         
     std::cout<<"safeArray array" <<list[0]<<","<<myArray[2]<<std::endl; 
     } 

     i++ 
    } 
} 
+0

我做了一些修改並實施了一些修改。我仍然在學習cpp,並且我忘記了main()是一個函數。我嘗試製作數組3個元素以放置邊界。所以每當用戶訪問「越界」元素。在這種情況下,我試圖只能訪問[0] [1] [2]。讓用戶通過一個循環來讓他們走出界限。我需要上課,這是必需的。非常感謝您的幫助。 – Jen

+0

我不是專家,但我不認爲你可以。對數組的超出界限的訪問會導致C++中的未定義行爲,它不會拋出異常,如果您真的很幸運可能會崩潰。如果您必須使用'std :: Array','at'功能或使用'vectors' – BlooB