如何在 C++ 中创建一个矩阵大小由参数决定的函数?

How to create a function in c++ that has a matrix's size determined by a parameter?

void prob6 (int n)
{
    int f,c,z=0, mat[n][n]; //error because of mat[n][n]
    for(int f=1;f<=n;f++)
    {
       z=f*n;
       for(int c=1;c<=n;c++)
       { ............

我正在矩阵中创建各种数字模式,它们的维度是 [n][n](正方形)。

您不能静态分配可变数量的内存。您可能希望在堆上分配内存。您还需要记住在完成后删除它们。这很乏味,所以使用 std::vector.

std::vector<std::vector<int>> myVector; //Vector inside vector.

(注意两个“>”之间的 space。>> 是不同的运算符)

可以在以下位置找到矢量的简单示例:http://en.cppreference.com/w/cpp/container/vector/push_back

更多:http://en.cppreference.com/w/cpp/container/vector