prog.cpp:10:49: error: ‘int& operator[](foo&, std::size_t)’ must be a nonstatic member function
int& operator [](foo& lhs, const std::size_t rhs) {
^
prog.cpp: In function ‘int main()’:
prog.cpp:26:13: error: expected primary-expression before ‘[’ token
cout << foo[0U] << endl;
^