누구나 메인에서 g로 넘어갈 때 어떤 일이 일어날 지 말해 줄 수 있습니까? static_cast입니까? 위의 코드는 아래와 같은 때문에const를 캐스팅하여 참조를 취하는 함수로 전달하려면 어떻게됩니까?
int & g (int&x){x++ ; return x ; }
int main()
{
const int a=5 ;
cout<<g((int&)a)<<endl;
}
내가 어떤 사본이 이루어지지 않습니다 확신 : 사전에
class A
{
public:
A()
{
cout << "calling DEFAULT constructor\n\n";
}
A(A& Other)
{
cout << "Calling COPY constructor\n\n";
}
~A()
{
cout << "Calling DESTRUCTOR\n\n";
}
};
A& g(A& x)
{
cout << "Inside g(A& x) \n\n";
return x;
}
void main()
{
const A a;
g(const_cast<A&>(a));
}*/
감사합니다 :)
[ 'main'의 반환 유형은 항상 int입니다.] (http://stackoverflow.com/questions/4207134/what-is-the-proper-declaration-of-main/4207223#4207223). –
@James : 표준이라고 말하는가? 내가 비표준이라고 쓴 것은 무엇입니까? 나는 당신의 대답을 기다리고있다. 그리고 고마워한다 :) –
그냥 마지막 질문이다. "a"를 변수가 아닌 const로 만들면 무엇이 적용 되는가? 답변 해 주신 모든 분들께 감사드립니다 :) –