首页 > 解决方案 > 为什么 valarry 没有被初始化

问题描述

我收到此错误>错误:'['令牌之前的预期主表达式|

    #include <iostream.h>
    #include<algorithm> // for partition algorithm
    #include<vector> // for vector
    #include <valarray,h>
    using namespace std;
    int main()
    {
        valarray <int> var;
        var=var.apply([](int x){
            return x=x+1;

[Blockquote][1]

        });
        cout<<var[1];
    }

标签: c++

解决方案


你应该#include <valarray>,不valarray,h

此外,[Blockquote][1]必须删除。

然后你的代码编译,但仍然适用于一个空数组。所以当你这样做时:

cout << var[1];

您正在尝试越界访问元素。这会导致未定义的行为。


推荐阅读