c++ - 为什么 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];
}
解决方案
你应该#include <valarray>
,不valarray,h
此外,[Blockquote][1]
必须删除。
然后你的代码编译,但仍然适用于一个空数组。所以当你这样做时:
cout << var[1];
您正在尝试越界访问元素。这会导致未定义的行为。
推荐阅读
- javascript - Send back not empty xmlhttprequest
- python - 不正确的矩阵逆结果
- reactjs - 创建反应组件时何时使用箭头函数与类与对象文字?
- java - Amazon Merchant Fulfillment 创建货件标签
- node.js - 为什么地图功能没有完成它的执行
- plesk - Plesk,未收到传入的电子邮件
- python - pandas.DataFrame 上的 numpy.logical_and.reduce
- java - 如何在 Springboot 应用程序中使用 mongo jpa 处理基类更新?
- javascript - ReactJs 状态发生变化,但 iframe 没有变化
- php - PHP - 替换文本而不覆盖已替换的文本