C++ 箭头算子与向量

C++ 箭头算子与向量,c++,pointers,vector,C++,Pointers,Vector,我一直在尝试将一个特定的向量元素重新分配给一个新值,但收到了来自编译器的一个错误,我不确定我是否理解它。所以我相信你可以像重新分配数组元素一样,重新分配一个向量元素 std::vector<int> myVector[10]; myVector[5] = 6; std::vector myVector[10]; myVector[5]=6; 或者也可以使用内置的“.at”通过边界检查访问向量。当我写一些琐碎的代码只是为了更好地理解一些概念时,我遇到了一个特殊的情况 int ma

我一直在尝试将一个特定的向量元素重新分配给一个新值,但收到了来自编译器的一个错误,我不确定我是否理解它。所以我相信你可以像重新分配数组元素一样,重新分配一个向量元素

std::vector<int> myVector[10];

myVector[5] = 6;
std::vector myVector[10];
myVector[5]=6;
或者也可以使用内置的“.at”通过边界检查访问向量。当我写一些琐碎的代码只是为了更好地理解一些概念时,我遇到了一个特殊的情况

int main()
{

    std::vector<int> test[10];

    test[3] = 5;

    if (test[3] != 6) 
    {
        std::cout << "It works!" << std::endl;
    }

    return 0;
}
intmain()
{
标准:病媒试验[10];
试验[3]=5;
如果(测试[3]!=6)
{

std::cout您创建了一个包含10个向量的数组,而不是包含10个元素的向量。向量最终是一个类类型,因此您需要通过构造函数初始化它:

std::vector<int> test(10);
std::向量测试(10);

您最初的操作方式意味着您试图为索引3处的向量赋值5。向量不支持赋值,因此这就是错误所在。

您创建了一个由10个向量组成的数组,而不是由10个元素组成的向量。向量最终是一种类类型,因此您需要通过构造函数对其进行初始化:

std::vector<int> test(10);
std::向量测试(10);

您最初的操作方式意味着您试图为索引3处的向量赋值5。向量不支持赋值,因此这就是错误所在。

您声明的是向量数组,而不是某个初始长度的向量。请使用以下内容代替您的声明:

std::vector<int> myVector(10);
std::vector myVector(10);

您声明的是一个向量数组,而不是一个初始长度的向量。请使用以下命令代替您的声明:

std::vector<int> myVector(10);
std::vector myVector(10);

我的主人,我觉得很傻。不要理我,我会在角落里皱起眉头,思考我的人生决定。非常感谢你纠正我的无知。“ArnMcNalay-它发生了。我们都必须学习C++中的事情,一次。如果你打算深入研究C++,这不是你最后一次有这样的时刻。C++。老兵们还是会得到他们的,“我的主人真的觉得我很傻。不要理我,我会在角落里皱起眉头,思考我的人生决定。非常感谢你纠正我的无知。”ArnMcNalay-这是发生的。我们都必须学习C++中的事情,一次。如果你打算深入研究C++,这不是你最后一次拥有M。像这样的C++老战士仍然能得到它们;现在它指出我觉得可笑,非常感谢你们及时的回应。现在,我至少可以回到学习。现在我指出,我觉得很可笑,非常感谢你们及时的回应。现在,我至少可以回去学习。你们是如何使用箭头操作符的?在<代码>测试(3)=5;?@ m m中,我能为我工作的唯一方法是:“Test-> AT(3);”我也注意到,你把我称之为箭头操作符的区域放在引号中。这不是C++中的正确术语吗?你在<代码>测试(3)中使用箭头运算符是怎么使用的?= 5;?@ m。M,我能为我工作的唯一方法是:“Test-> AT(3);”我也注意到,你把我称之为箭头操作符的区域放在引号中。这不是C++中的正确术语吗?