【发布时间】:2021-01-05 09:19:16
【问题描述】:
我对 C++ 很陌生,下面是我的程序。它定义了一个嵌套向量。
#include <vector>
using namespace std;
int main(int argc, char *argv[]) {
vector<vector<int>> grid(10, vector<int>(10, 10000));
return 0;
}
当我定义同一个向量作为类成员时,报语法错误:
#include <vector>
using namespace std;
class Test {
public:
vector<vector<int>> grid(10, vector<int>(10, 10000));
};
int main(int argc, char *argv[]) {
vector<vector<int>> grid(10, vector<int>(10, 10000));
return 0;
}
如何定义vector<vector<int>> 类型的类成员并将其初始化为10 vector<int>(10, 10000)?我试图在构造函数中声明变量并初始化它,但是编译器报告C:\my_projects\cpp1\main.cpp(8): error C2064: term does not evaluate to a function taking 2 arguments。
#include <vector>
using namespace std;
class Test {
public:
Test() {
grid(10, vector<int>(10, 10000));
}
public:
vector<vector<int>> grid;
};
int main(int argc, char *argv[]) {
vector<vector<int>> grid(10, vector<int>(10, 10000));
return 0;
}
【问题讨论】:
-
I'm very new to C++这就是为什么你应该使用good C++ book。 C++ 很复杂,尝试从各种互联网资源和直觉中学习它不会让你走得太远、很快。
标签: c++ class vector nested initialization