There are serious style problems in this code. In the same program you're mixing:
* C headers.
* C++ headers.
* UNIX headers (for no easily discernible reason).
* C++ types.
* C-style I/O.
* C-style memory allocation.
* C-style struct declarations.
* (Presumably) C-strings when <string> is being included.
* Global data pretending to be OOP objects.
* Global functions pretending to be methods.
This code is in need of heavy refactoring.
I was under the assumption that vectors didn't need to be set to a size. I thought they "grew" with each element added. Anyways, I tried vector<stNodeType> stNodeType_list(20); but I get these errors:
main.cpp:279: error: expected identifier before numeric constant
main.cpp:279: error: expected `,' or `...' before numeric constant
main.cpp:279: error: ISO C++ forbids declaration of `parameter' with no type
SO I tried it using my struct: current_scope->stNodeType_list.resize(20); but I get these errors:
main.cpp:289: error: expected constructor, destructor, or type conversion before '->' token
main.cpp:289: error: expected `,' or `;' before '->' token
They do, but you have to actually add them in order for that to happen. Simply using operator() doesn't change the size.
The first set of errors is, IINM, because you tried to add the constructor parameter in the middle of the class declaration, which is illegal.
The second set is hard to tell. Did you put that code in the middle of global scope?