我开始学习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
。