fork download
  1. class tuple {
  2. int* array;
  3. int size;
  4. public:
  5. tuple(int* a, int s) : array(new int[s]), size(s) {
  6. for(int i=0 ; i<s; ++i)
  7. array[i]=a[i];
  8. }
  9. ~tuple() { delete[] array;}
  10. tuple (const tuple& t) : tuple(t.array, t.size) { };
  11.  
  12. class iterator {
  13. tuple* origin;
  14. int index;
  15. iterator(tuple* o, int i) : origin(o), index(i) { }
  16. friend class tuple;
  17. public:
  18. iterator(const iterator&) = default;
  19. };
  20. iterator begin() { return iterator(this, 0); }
  21. iterator end() { return iterator(this, size); }
  22. };
  23.  
  24. int main() {
  25. int myarray[2] = {42, 43};
  26. tuple mytuple(myarray, 2);
  27. tuple::iterator iterator1 = mytuple.begin();
  28. tuple::iterator iterator2 = mytuple.end();
  29. iterator2(iterator1);
  30. return 0;
  31. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main()':
prog.cpp:29:21: error: no match for call to '(tuple::iterator) (tuple::iterator&)'
  iterator2(iterator1);
                     ^
stdout
Standard output is empty