【问题标题】:Using vector as matrix?使用向量作为矩阵?
【发布时间】:2020-10-14 18:22:53
【问题描述】:

如何在 C++11 中定义一个向量,使其大小为 4*5,以便将其视为矩阵? (我的意思是使用运算符[],如下所示)

mat[2][3];

更新: 以下给了我错误:

#include <memory>
class Test{
        std::vector<int> vect;
};

错误信息:

implicit instantiation of undefined template 'std::__1::vector<int, std::__1::allocator<int> >'
    std::vector<int> vect;

【问题讨论】:

  • 没有人反对你的每一个问题。如果发生这种情况,有机制可以恢复连续投票
  • @idclev463035818 这发生在我最后 7 个问题上,一旦我在 2 秒内发布它,我就会被否决
  • fwiw,从您的最后 3 个问题来看,没有一个问题包括 mcve 或您身边的任何尝试,而第四个和更早的问题都有 0 票反对...
  • 您需要#include&lt;vector&gt;

标签: c++ stl


【解决方案1】:

你只需要一个嵌套的vector,像这样:

auto v = std::vector<:vector>>(4, std::vector(5));

然后您可以像 v[0][0] 一样对其进行索引。

【讨论】:

  • 我不能将它创建为一个单一的向量(为了效率)
  • 是的,当然。您是否看到发布在 cmets 中的链接?查看欺骗目标。
  • 但我收到一个错误:未定义模板的隐式实例化 'std::__1::vector >' std::vector 向量;当我输入 std::vector vect;
  • 好的,然后用您尝试过的内容更新问题,并展示一个可重现的最小示例。
  • 做完了,如果可以的话看看
【解决方案2】:

错误implicit instantiation of undefined template std::__1::vector ... 表示编译器不知道std::vector

你需要#include &lt;vector&gt;

【讨论】:

    猜你喜欢
    • 2011-08-19
    • 1970-01-01
    • 2022-11-02
    • 2016-02-22
    • 2016-06-22
    • 2015-03-25
    • 2016-02-09
    • 1970-01-01
    相关资源
    最近更新 更多