在向量上使用擦除时发生段错误

时间:2019-05-22 20:39:58

标签: c++ vector stl stdvector

我正在为正在从事的大型项目编写一些基本的神经网络工具。

神经网络本身由不同结构的向量组成,对于一个功能,我希望它从指定层删除神经元。每当我使用该功能时,它都会正常工作,直到将将神经元的神经元边缘移到下一层(第+1层),这会导致段错误。

library(zoo)
df[-1] <- na.aggregate(df[-1])

1 个答案:

答案 0 :(得分:1)

您的if(t_layer != neuralNetwork.size())检查将始终为true,因为t_layer小于neuralNetwork.size()(如果不是,则前一行对neuralNetwork[t_layer]的访问将导致未定义行为)。

您可能想检查

if (t_layer + 1 != neuralNetwork.size())