[英]How to display a dynamic array with a for loop in c++
我正在嘗試使用 for 循環顯示一個動態數組來檢查我的輸入,並且沒有任何向量(我仍然是初學者,所以我還不知道它的含義,它是一個 class 分配)。 我也在嘗試實現類和對象。 這是我的代碼:
#include <iostream>
using namespace std;
class Set {
private:
int size;
int* arr = new int[size];
public:
void setArr();
void dispArr();
};
void Set::setArr() {
cout << "Please enter the size of your array: ";
cin >> size;
cout << "\nPlease enter the elements of your array: ";
for (int i = 0; i < size; i++)
cin >> arr[i];
}
void Set::dispArr() {
for (int j = 0; j < size; j++)
cout << arr[j] << "\t";
}
void main()
{
Set myArray;
myArray.setArr();
myArray.dispArr();
}
當我運行代碼時,有時它可以工作,但大多數時候,它會拋出斷點錯誤,沒有任何錯誤代碼或解釋。 有人可以幫我弄清楚如何將動態 arrays 和類結合起來嗎? 謝謝,麻煩您了。
您在初始化size
之前分配arr
。 因此, size
在那個時候有一個不確定的值,這解釋了你的程序不可預測的行為。
解決方案:讀取size
后分配arr
。 更好的是,使用std::vector
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.