[英]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次重新定義:
但是實際定義的是全局空間中的一個(第二個)
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.