将 2D 数组传递给大小为变量的功能
Passing 2D array to funcion which size is a variable
我正在尝试解决一个问题,我需要使用从 txt 文件中读取大小的 2D 数组。为了创建一个 2D 数组"V"需要 const int,后来 V 需要传入打印函数,这意味着它在我的实现中也必须是全局的。对此有什么可能的解决方案?
void printAdjMatrix(int arr[][V])
{
for (int i = 0; i < V; i++)
{
for (int j = 0; j < V; j++)
{
printf("%d ", arr[i][j]);
}
printf("n");
}
}
int main()
{
fstream in("in.txt", ios::in);
int vort;
in >> vort;
const int V = vort;
int adjMatrix[V][V]; //error: expression must have a constant value
printAdjMatrix(adjMatrix);
}
这对你有用吗?
void printAdjMatrix(int* square_mat, int dim)
{
for (int i = 0; i < dim; i++)
{
for (int j = 0; j < dim; j++)
{
printf("%d ", square_mat[i*dim + j]);
}
printf("n");
}
}
int main()
{
fstream in("in.txt", ios::in);
int vort;
in >> vort;
const int V = vort;
int* adjMatrix = new int[V*V](); //Use std::unique_ptr if possible
printAdjMatrix(adjMatrix, V);
delete[] adjMatrix;
}
相关文章:
- C++变量名(可以将 main 声明为变量,但对于其他函数名称则不然)
- 是否可以使用其他变量为变量分配值,而无需在 C++ 中更改其值?
- C++将文本从.txt文件解析为变量
- 为变量模板的每个参数调用模板函数
- C++ find() 在存储为变量时返回不同的值
- 在C++中最小化变量的范围
- 如何在 c++ 中创建一个可以将自身保存为变量的类?
- 如果不分配内存,我如何能够为变量创建和分配值?
- 将 2D 数组传递给大小为变量的功能
- 为什么我不能为变量赋值函数?
- c++ 使用 CRTP 为变量模板中的每个类型创建纯虚拟重载
- 使用时间,时间应该如何存储为变量?
- 将特定字符串数据解析为变量
- 从迭代器转换为变量的类型.(C++11 模板)
- 如果我提前将参数声明为变量而不是将它们内联写入函数调用,那有什么区别(在内存方面)?
- 如何将函数设置为变量并从中调用?
- 将恒定的文字数组传递到一个函数中,而无需将其声明为变量
- unordered_map无法检索参数中指定为变量的键的值
- 如何将表达式转换为变量
- C 错误:从命令行输入更改为变量输入