【发布时间】:2021-09-06 14:12:32
【问题描述】:
我开始学习 C++ 我尝试声明一个 3x3 向量并执行以下操作:
std::vector<std::vector<char>> matrix(3, std::vector<int>(3));
这给了我一个错误,尽管当类型为 int 时它工作正常:
std::vector<std::vector<int>> matrix(3, std::vector<int>(3));
如果有人来解释我做错了什么以及如何在 C++ 中声明一个 3x3 向量,我将不胜感激。我知道如何使用矩阵来做到这一点。
我有谷歌,但我无法找到解决方案。如果有人推荐一本好书或在线课程来为刚接触 C++ 的人推荐一本好书或在线课程,我将不胜感激。
提前谢谢你,对不起我的英语。
【问题讨论】:
-
您的向量类型有误 -
std::vector<std::vector<char>> matrix(3, std::vector<int>(3);应该是std::vector<std::vector<char>> matrix(3, std::vector<char>(3)); -
为了让@Yksisarvinen 的评论更清楚一点,你有一个
std::vector<char>的向量,然后你使用std::vector<int>(3)对其进行初始化。 -
那就给我一个错误... 虽然在这种情况下不难看出问题所在,但一般来说,如果您询问的是产生错误的代码,告诉我们您看到了什么错误。最好粘贴错误的确切文本。
-
请不要接受解决错误问题的答案。 或者不要更新您的问题以响应答案(或 cmets 中的解决方案)。这使得答案和 cmets 以及您的整个问题都毫无用处。