예시)
아래처럼 코드를 작성하면 정상적으로 작동하게 된다. 컴파일러가 Test클래스의 int 인자를 받는 생성자가 있다는 것을 인지하고 암시적으로 변환 해버린다.
#include <iostream>
class Test {
public:
Test(){};
Test(int a) : a(a) {};
~Test() {};
int a;
};
int main() {
Test test = 5; // Test test = Test(5)
std::cout << test.a << std::endl;
return 0;
}