728x90
(c++20) Conditional Explicit  Constructor
👨🏻‍💻 programming/◽ c, c++2024. 6. 17. 15:17(c++20) Conditional Explicit Constructor

"(c++20) Conditional Explicit  Constructor" 1. explicit // c++11 struct NoExplicit{ NoExplicit() = default; NoExplicit(int n) { cout TestNoExplicit(10); // - ???? error X  TestNoExplicit() NoExplicit struct 자료형을 매개변수로 받고 있다. 그럼 매개변수에 NoExplicit struct 이 외에 다른 자료형이 들어간다면 에러를 뱉어내는게 정상이다. 하지만 위 코드에서 TestNoExplicit(10) 에러를 뱉어 낼거 같지만 정상 작동한다. 이는 컴파일러에서  "10"을 NoExplicit(int n)" 생성자를 이용하여 암시적 형변환을 ..

728x90
image