如何在类中为向量使用 () 初始值设定项?

Hri*_*lgh 0 c++ vector c++11

此代码给出了错误

class Board {
  vector<vector<int>> sudoku(9, vector<int>(9));
// Error; Expected a parameter declarator
};
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Nat*_*ica 5

在类初始化时,不能使用括号直接初始化成员。您必须使用大括号 ( {}) 或等于 ( = ...;) 来初始化成员。这意味着您需要重构它以具有以下形式

vector<vector<int>> sudoku = vector<vector<int>>(9, vector<int>(9));
// or
vector<vector<int>> sudoku{9, vector<int>(9)};
Run Code Online (Sandbox Code Playgroud)