尝试原地调整我的阵列。但似乎它不起作用。在数组上运行函数后,值保持不变。
void filter_scan(std::array<float, 270>& scan){
for(float val : scan){
if(val < 0.5 || val > 2)
val = 0;
}
}
答案 0 :(得分:2)
即使您通过引用传递数组,您也可以按值(复制)访问每个元素。
for(float val : scan)
将数组的每个元素复制到val
中,对其执行的任何修改都不会显示在数组中。您需要将val
作为
for(float& val : scan)
答案 1 :(得分:2)
您正在按值访问数组条目。为每个条目创建本地副本$("#inputElementId").on("keypress", function(event){
if (event.keyCode == 13) {
event.preventDefault();
event.target.blur()
}
})
,然后更改,只是再次被遗忘。要获得“读写”类型的访问权限,您可以通过引用扫描数组:
val
答案 2 :(得分:1)
您需要添加引用:
void filter_scan(std::array<float, 270>& scan){
for(float &val : scan){
if(val < 0.5 || val > 2)
val = 0;
}
}