id summary reporter owner description type status priority milestone component version severity resolution keywords cc 851 Use delete on noncopyable classes cvvergara strk "C++11 When the copy construction and assignment wants to be explicitly forbidden by the author, it needs to have the `= delete` Current code looks like: {{{ // Declare type as noncopyable RayCrossingCounter(const RayCrossingCounter& other); RayCrossingCounter& operator=(const RayCrossingCounter& rhs); }}} (1) If it is used externally, it will be a compiler error (because it is private). (expected) (2) But if it is referenced internally or by a friend, then it will produce a link error because the definition does not exist. In C++11: {{{ // Declare type as noncopyable RayCrossingCounter(const RayCrossingCounter& other) = delete; RayCrossingCounter& operator=(const RayCrossingCounter& rhs) = delete; }}} Here, (2) the compiler will note this at compilation - no linker errors and clear intent. " defect closed trivial 3.7.0 Core 3.6.2 Unassigned fixed