我想重载非类型参数模板别名的operator<<
。
#include <iostream>
#include <bitset>
template<int N>
using centroids = std::vector<typename std::bitset<N>>;
template<int N>
std::ostream & operator<<(std::ostream & o, centroids<N> const & c)
{
return o;
}
int main()
{
centroids<16> c;
std::cout << c << std::endl; // <-- fails as overloaded
return 0 // operator<< is not found
}
编译失败为重载运算符&lt;&lt;找不到。
如何重载&lt;&lt;此非类型参数模板别名的运算符?