fork download
  1. typedef int HANDLE;
  2.  
  3. class Item
  4. {
  5. private:
  6. mutable HANDLE Parent;
  7.  
  8. public:
  9. Item(const Item &I) = delete;
  10. Item(Item &&I) = delete;
  11. void SetParent(HANDLE Handle) const;
  12.  
  13. Item& operator = (const Item &I) = delete;
  14. Item& operator = (Item &&I);
  15. };
  16.  
  17. void Item::SetParent(HANDLE Handle) const
  18. {
  19. this->Parent = Handle;
  20. }
  21.  
  22. class Box
  23. {
  24. private:
  25. HANDLE Handle;
  26.  
  27. public:
  28. void Add(const Item &I);
  29. public:
  30. Box(const Item &I) {
  31. Add(I);
  32. }
  33. };
  34.  
  35. void Box::Add(const Item &I)
  36. {
  37. I.SetParent(this->Handle); //Error.. Item I is const.
  38. }
  39.  
  40. int main(void) {
  41. return 0;
  42. }
Success #stdin #stdout 0s 2892KB
stdin
Standard input is empty
stdout
Standard output is empty