Създадох клас Chromosome, който в крайна сметка беше просто обвивка за вектор с оператор ostream, така че вместо това реших да напиша вектор. Имам обаче проблем с шаблонния оператор ostream... Това ли е най-добрият начин да го направя? (Виждал съм няколко подхода и не успях да накарам нито един да работи)
template<typename G>
class Chromosome {
public:
typedef typename std::vector<G> type;
typedef typename std::pair<type *,type *> ptr_pair;
};
template<typename G> //line 19 below:
std::ostream& operator<<(std::ostream& os, const Chromosome<G>::type& chromosome) {
for(auto iter = chromosome.begin(); iter != chromosome.end(); ++iter)
std::cout << *iter;
return os;
}
В момента грешката, която получавам е:
chromosome.h:19: error: expected unqualified-id before ‘&’ token
chromosome.h:19: error: expected ‘)’ before ‘&’ token
chromosome.h:19: error: expected initializer before ‘&’ token
наздраве