Challenge 2: A Class With an Explicitly Deleted Copy Constructor — Possible Solution ==================================================================== #include class NoCopy { public: int value; NoCopy(int v) : value(v) {} NoCopy(const NoCopy &other) = delete; }; int main() { NoCopy a(42); NoCopy b = a; // compile error return 0; } Representative compile error: error: use of deleted function 'NoCopy::NoCopy(const NoCopy&)' NoCopy b = a; ^ note: 'NoCopy::NoCopy(const NoCopy&)' explicitly marked deleted here NoCopy(const NoCopy &other) = delete; ^ WHY THIS WORKS AS AN ANSWER ------------------------------ = delete explicitly marks the copy constructor as unusable -- per the chapter, this is exactly the syntax cpp2-4's own unique_ptr uses internally to enforce sole ownership. Attempting NoCopy b = a; still compiles as far as syntax goes (it's ordinary copy-initialization) but fails specifically because the ONE constructor that could satisfy it has been explicitly deleted -- the compiler reports the exact deleted function by name, rather than a generic type mismatch, confirming = delete's intent is enforced as a hard compile-time error.