使用同一结构的nembers初始化矩阵的错误
Error initializing matrix with nembers of the same struct
我正在学习C 。
i仅需要一个矩阵和特别是矩阵中有多少行和列。尽管我可以使用以下结构:
struct map {
int rows;
int columns;
int matrix[rows][columns];
}
但是,它没有编译。有一个错误:int matrix[rows][columns];
我也尝试了:
struct map {
int rows;
int columns;
int matrix[map.rows][this.columns];
}
但是,它不会编译。
map.matrix
将具有map.rows
和map.columns
。我以这种方式声明了,因为我不知道我是否可以在不指定其尺寸的情况下声明。
如果这样做是正确的: int matrix[][];
。
我该怎么做才能使map.matrix
具有map.rows
行和map.columns
列?
为了在堆栈上创建一个数组(即,不是用 new
将其分配在堆上(,需要在编译时知道阵列的大小(您的行和列是在编译时不知道(。
替代1 :在堆上分配(对于不适合堆栈的大数组(或简单地使用向量(向量使用堆内存(。
替代2 :如果您确实需要它在堆栈上,则可以使用模板类:
template <size_t ROWS, size_t COLUMNS>
class MyMatrix
{
int _matrix[ROWS][COLUMNS];
};
相关文章:
- 使用默认构造函数引用成员变量初始化错误
- 交换机案例语句中的初始化错误
- 英特尔 MKL 稀疏 QR 求解 C++ 返回未初始化错误
- 在模板类中使用"this"会导致参数初始化错误
- 映射的映射集的映射初始化错误
- C++图形初始化错误(语法或丢失文件缺陷?
- QSQLDATABASE:SIGSEV初始化错误
- 映射的 std::for_each() 给出无效的初始化错误
- 初始化错误过多
- C++初始化错误 std::set
- 简单的类构造函数初始化错误
- 组合框初始化错误:无法读取未定义的属性'constructor'
- OpenCV卡尔曼滤波器初始化错误
- C++11动态数组部分列表初始化(错误或误解)
- C++ 静态变量在发布模式下初始化错误
- Visual Studio 2010 SP1 中的 64 位整数初始化错误
- C++libPNG-简单初始化错误
- 结构数组-初始化错误
- 初始化错误
- 我不断收到函数初始化错误.(运行时检查失败 #3)