title: Disabling default constructor for non-POD classes
body: <p>As far as I understand, C++ default copy constructor only behaves as expected when the class is a POD class.</p>
  
  <p>I would like to know if there's a solution for preventing the programmer to write code which (implicitely or not) uses the default copy constructor if the object is not POD. </p>
  
  <p>I know you can always make your copy and assignement private to solve this problem but I'd like to know if there's an automated solution. For example the compiler could generate a warning in case your code generates a default copy constructor call and your class is not POD ? </p>
  
  <p>The goal here is to detect the cases where I forgot to declare copy/assignement private or to manually define them. </p>
  
  <p>Also do you guys know if cppcheck can do that ? </p>