If I put #include <vector.h> in my source file, I get this warning:
make -f Makefile CFG=Debug g++ -c -g -o "Debug/mynn.o" "mynn.cpp" In file included from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/backward/vector.h:59, from mynn.h:7, from mynn.cpp:1: **C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.** g++ -g -o "Debug/mynn.exe" Debug/mynn.o and if I just add regular #include <vector> (without .h, like the warning suggests), I get the following errors:
make -f Makefile CFG=Debug g++ -c -g -o "Debug/mynn.o" "mynn.cpp" In file included from mynn.cpp:1: **mynn.h:12: error: ISO C++ forbids declaration of `vector' with no type mynn.h:12: error: expected `;' before '<' token mynn.h:13: error: `vector' has not been declared mynn.h:13: error: expected `,' or `...' before '<' token mynn.h:13: error: ISO C++ forbids declaration of `parameter' with no type mynn.h:20: error: ISO C++ forbids declaration of `vector' with no type mynn.h:20: error: expected `;' before '<' token mynn.h:21: error: ISO C++ forbids declaration of `vector' with no type mynn.h:21: error: expected `;' before '<' token** Is there a better way to include the vector header this so that it doesn't complain? Here's the source file that generates the warnings/errors:
// mynn.h #ifndef _MYNN_H_ #define _MYNN_H_ #include <stdio.h> #include <iostream> #include <math.h> #include <vector> class neuron { public: neuron(); vector<int> weights; int compute_sum (vector <int> &input); }; class layer { public: layer(); vector <neuron> nrns; vector<int> compute_layer (vector <int> &input); }; #endif /*_MYNN_H_*/
_MYNN_H_is a reserved identifier, don't use it.