簡體   English   中英

未使用的變量禁止打印?

[英]Unused Variable prohibits print?

我不確定為什么我的功能無法正常工作。 它應該打印出一些東西(用戶超出范圍后出現錯誤消息)我已將數組索引設置為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"
 };

您的程序運行正常。 除非您向編譯器添加“ -Werror”標志,否則它將“未使用的變量” -Warning視為錯誤。 該代碼可以正常編譯,如下所示: http : //coliru.stacked-crooked.com/a/d648b94f205b51dc

盡管您的程序無法執行您想要的操作,但是由於以下原因:


1.)您可以在不同的命名空間中對outofBounds進行3次重新定義:

  • 在類名稱空間SafeArray中的一個,它是其成員函數
  • 然后進入全球空間
  • 然后在主要功能(入口點)內

但是實際定義的是全局空間中的一個(第二個)


2.)您沒有向main內部的函數傳遞任何內容。 首先在其中定義您的Array,然后通過執行以下操作調用函數:

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

3.)您可能想在SafeArray-class中定義成員方法“ 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...
}

但是再一次,您需要一些構造函數來初始化類的成員。 需要做一些工作才能使其正常工作。 祝好運 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM