运行时检查失败 #2 - 变量周围的堆栈'A'已损坏。需要的解决方案



我开始学习c++,遇到了一个错误。我只是创建了一个类来生成一个10x10的矩阵,把0到99的整数放进矩阵,然后打印出来。然而,它弹出一个堆栈错误,其中一个应该是93的值变成了0。我一点儿也不知道。谢谢你的回答。

//myclass.h
#pragma once
class Matrix {
private:
    int _2dmatrix [10][10];
public:
    Matrix ();
    ~Matrix ();
    void printMatrix ();
};
// myclass.cpp
#include "myclass.h"
#include <iostream>
using namespace std;
Matrix::Matrix () {
    for (int i = 0; i < 10; i++)
        for (int j = 0; j < 10; j++) {
            _2dmatrix[i+1][j+1] =i*10+j;
        }
}
Matrix::~Matrix () {}
void Matrix::printMatrix () {
    for (int i = 0; i < 10; i++) {
        for (int j = 0; j < 10; j++) {
            cout << _2dmatrix[i+1][j+1] << "t";
        }
        cout << "n";
    }
}
//source.cpp
#include <iostream>
#include "myclass.h"
using namespace std;
int main() {
    Matrix A;
    A.printMatrix();
    return 0;
}

c++中的数组是从零开始的。只需将i+1更改为i, j+1更改为j

相关内容

最新更新