如何初始化vector <char>的向量?

时间:2018-02-01 16:06:20

标签: c++ vector initialization

我有来自数独拼图的数据。我必须在vector<vector<char>>中定义下面的内容。

[[".", "8", "7", "6", "5", "4", "3", "2", "1"], 
 ["2", ".", ".", ".", ".", ".", ".", ".", "."],
 ["3", ".", ".", ".", ".", ".", ".", ".", "."], 
 ["4", ".", ".", ".", ".", ".", ".", ".", "."],
 ["5", ".", ".", ".", ".", ".", ".", ".", "."], 
 ["6", ".", ".", ".", ".", ".", ".", ".", "."], 
 ["7", ".", ".", ".", ".", ".", ".", ".", "."], 
 ["8", ".", ".", ".", ".", ".", ".", ".", "."], 
 ["9", ".", ".", ".", ".", ".", ".", ".", "."]];

如何在cpp中的向量中定义上面,尝试下面 - 没有工作。

char sudoku1[][] = [[".", "8", "7", "6", "5", "4", "3", "2", "1"],
                    ["2", ".", ".", ".", ".", ".", ".", ".", "."],
                    ["3", ".", ".", ".", ".", ".", ".", ".", "."],
                    ["4", ".", ".", ".", ".", ".", ".", ".", "."], 
                    ["5", ".", ".", ".", ".", ".", ".", ".", "."], 
                    ["6", ".", ".", ".", ".", ".", ".", ".", "."], 
                    ["7", ".", ".", ".", ".", ".", ".", ".", "."], 
                    ["8", ".", ".", ".", ".", ".", ".", ".", "."], 
                    ["9", ".", ".", ".", ".", ".", ".", ".", "."]];

    vector<vector<char>> sudoku2 =[[".", "8", "7", "6", "5", "4", "3", "2", "1"],
                                   ["2", ".", ".", ".", ".", ".", ".", ".", "."], 
                                   ["3", ".", ".", ".", ".", ".", ".", ".", "."], 
                                   ["4", ".", ".", ".", ".", ".", ".", ".", "."], 
                                   ["5", ".", ".", ".", ".", ".", ".", ".", "."], 
                                   ["6", ".", ".", ".", ".", ".", ".", ".", "."],
                                   ["7", ".", ".", ".", ".", ".", ".", ".", "."], 
                                   ["8", ".", ".", ".", ".", ".", ".", ".", "."], 
                                   ["9", ".", ".", ".", ".", ".", ".", ".", "."]];

    vector<vector<char>> sudoku3 ={{".", "8", "7", "6", "5", "4", "3", "2", "1" },
                                   {"2", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"3", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"4", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"5", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"6", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"7", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"8", ".", ".", ".", ".", ".", ".", ".", "." },
                                   {"9", ".", ".", ".", ".", ".", ".", ".", "." }};

1 个答案:

答案 0 :(得分:5)

对于列表初始化,您应该使用大括号(如您所示的sudoku3)。请注意"."不是char(假定的元素类型),而是const char数组(即const char[2]),因此更改{{ 1}}到"

'