da me compila:
codice:
/*

$ g++ --version; g++ -Wall -ansi -pedantic -Wextra -Wconversion main.cpp; ./a.out 
i686-apple-darwin8-g++-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Yow! Yow! Yow! Yow! Yow! 
Yow! Yow! Yow! Yow! Yow! 

*/

// #include "stdafx.h"
#include <vector>
#include <iostream>
#include <string>
#include <iterator>
using namespace std;
// As long as things are simple,
// this approach works fine:
template<typename C>
void print1(C& c) {
typename C::iterator it;
	for(it = c.begin(); it != c.end(); it++)
		cout << *it << " ";
		cout << endl;
}
// Template-template argument must
// be a class; cannot use typename:
template<typename T, template<typename> class C>

void print2(C<T>& c) {
	copy(c.begin(), c.end(),ostream_iterator<T>(cout, " "));
	cout << endl;
}
int main() {
	vector<string> v(5, "Yow!");
	print1(v);
	print2(v);
}