簡體   English   中英

如何在 c++ 中顯示帶有 for 循環的動態數組

[英]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.

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