The problem is that you haven't importedvector<T> lives in the std namespace and you're attempting to use the type without any qualification or appropriate using statement. Add The safest fix is to explicitly qualify uses of the following after your includestype with the std prefix.
using std::vector;vector<neuron> nrns; Or qualifyThis can also be fixed by explicitly importing the usages oftype via a vector<T>using with the namespacestatement.
using std::vector<neuron> nrns;vector; I would avoid this approach though. Adding using statements to header files, while legal, is bad practice because it can change how items are compiled. This form safer than a blanket import of std but is still not great.