보이지 않는 위험, 암묵적 형변환. C로부터 계승해온 아주 멋지구리한 녀석이지. 뭐, 나름대로 편하긴 해도 벌레 잡을 때 그지 같단 말이지. 아래 코드를 보자. #include <iostream> using namespace std; // -DDO_EXP 를 컴파일 옵션에 넣으면 실험할 수 있다. #if !defined(DO_EXP) # define EXPLICIT #else # define EXPLICIT explicit #endif // 몇몇 정보를 찍는 함수 template<typename _T> static void _showme(const char* fn, void* ptr, const _T& val) { cout << fn << '(' << ptr << "): " << val << endl; } // 몇몇 정보를 찍는 매크로 #define showme(h) _showme(__PRETTY_FUNCTION__, \ this, \ (h) ) // 내 클래스 class CMyClass { public: // 생성자1 - a EXPLICIT CMyClass() { showme(this); } // 생성자2 - b EXPLICIT CMyClass(int h) { showme(h); } ...