TITLE: A reference member in a class will prohibit assignment [ Adapted from "C++ Gotchas", tutorial notes by Tom Cargill, p. 47 ] struct Point { double x; double y; }; struct Rectangle { Point& ne; Point& sw; Rectangle (Point&, Point&); }; Rectangle :: Rectangle (Point& a, Point& b) : ne(a), sw(b) { } int main () { Point p, q, r, s; Rectangle wet (p, q), dry (r, s); wet = dry; // error return 0; }