fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template< typename T > class buffer
  5. {
  6. public:
  7. T * data;
  8. buffer(){data = new T[10];}
  9. const T & operator [] ( size_t i) const {return data[i];}
  10. T & operator [] ( size_t i){return data[i];}
  11.  
  12. operator const T * () const;
  13. operator T * ();
  14. };
  15.  
  16. int main() {
  17. buffer< int > buf;
  18. buf[ 0 ] = 5; // Generates an error
  19. std::cout<< buf[0];
  20. return 0;
  21. }
Success #stdin #stdout 0s 3228KB
stdin
Standard input is empty
stdout
5