반응형
implicit type conversion을 막아준다.
#include <iostream>
class A {
public:
int num;
A(int n) : num(n) {};
};
void printA(A a) {
std::cout << a.num << std::endl;
}
int main(){
int n = 26;
printA(n); // 형 변환되면서 생성자 A가 호출
}
#include <iostream>
class A {
public:
int num;
explicit A(int n) : num(n){};
};
void printA(A a) {
std::cout << a.num << std::endl;
}
int main(){
int n = 26;
printA(n); // Error!
}
반응형
댓글