2017-05-11 5 views
0

私の機能がなぜ機能していないのか分かりません。私は配列インデックスを3つのインデックススロットに設定しています。また、私はどこここから行くことを確認していない「未使用変数 『yourArray』エラーを取得しています。まだ、そうアドバイスや助けとは大幅に高く評価されるC++を学ぶしようとしている。未使用変数は印刷を禁止しますか?

#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; 

    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; 
    }}} 

int main() { 
void outofBounds(int,int); 
int yourArray[3]; //Error: Used variable "yourArray" 
}; 
+2

'void outofBounds(int、int);'は関数を呼び出しません。関数を宣言するだけです。 –

+2

あなたは[よいC++の本](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)を使うことができると聞きました – NathanOliver

+0

また、 'cout <<" safeArray yourArray ( "<< yourArray [0] <<"、 "<< yourArray [3] <<") " << endl;'は配列の最後を過ぎてアクセスし、未定義の動作です。 – NathanOliver

答えて

0

あなたのプログラムが動作して結構です。あなたはエラーとして-warning「未使用の変数を」治療でしょうコンパイラに「-Werror」フラグを追加した場合を除き、ここに見られるように コードは罰金コンパイルします。http://coliru.stacked-crooked.com/a/d648b94f205b51dc

あなたのプログラムが何をしていませんが次の理由により、この処理を実行します。


0123内側その後、

  • グローバル空間内
  • その後、
  • それのメンバ関数 あるクラスの名前空間のSafeArray内の1と:

    1)あなたは、異なる名前空間内のoutofBoundsの3つの再定義を持っています主機能(エントリポイント)

実際に定義されている一つは、グローバル空間(2 1)

内の1つです

2.)メイン内の関数に何も渡していません。 最初に実行して関数を呼び出すが、あなたの配列を定義します。)

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

3.あなたは、おそらくのSafeArrayクラス内のメンバメソッド「outofBounds」を定義したかったです。これは、スコープ演算子::メンバ関数が所属するクラスを指定書き込むことによって行うことができます。

class SafeArray { // is a class, can also be struct since everything is public anyways 
public: 
    void outofBounds(int,int); // a member of the class SafeArray 
// private: 
    int yourArray[3]; 
    int i; 
}; 

void SafeArray::outofBounds(int yourArray[],int sizeofArray) { 
    // do something... 
} 

をしかし、その後、再び、あなたのクラスのメンバを初期化し、いくつかのコンストラクタを必要とします。あなたが望むように、それを機能させるためにはいくつかの作業が必要です。 Good Luck :)

関連する問題