Genetic.h:19: error: expected ‘,’ or ‘...’ before ‘>’ token Genetic.h:19: error: wrong number of template arguments (1, should be 2) /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_pair.h:68: error: provided for ‘template struct std::pair’ Genetic.h:19: error: default argument missing for parameter 4 of ‘GeneNode::GeneNode(GeneNode*, GeneNode*, std::pair, int)’ make: *** [Genetic.o] Error 1 #ifndef GENETIC_H #define GENETIC_H #include #include using namespace std; //TODO templates struct GeneNode { GeneNode* left; GeneNode* right; // represents operator and number (if char == 0 (in this case)) pair data; GeneNode(GeneNode* l = NULL, GeneNode* r = NULL, pair ch = pair (0,0)) : left (l), right(r), data(ch) {} virtual ~GeneNode(); virtual void makeEmpty(); virtual void print (ostream& out = cerr) const { if (left) left->print (out); out << data.first << ":" << data.second << ' '; if (right) right->print (out); } }; //.... other class defs also (too lazy to create multiple files at the mo (prototype phase you see))