비주얼스튜디오랑 GCC같의 변수 초기화에 차이가 있다

A라는 클래스에 B클래스의 객체를 받는 변환생성자가 있고, B에서 char* 변환생성자가 있다면 C++에서는

A a= "abcd";

이렇게 할 경우 비주얼 스튜디오에서는 문제없이 컴파일이 되는데 반해서, GCC에서는 컴파일 에러가 난다. 이럴 때는

A a("abcd")이렇게 해줘야 컴파일 오류가 나지 않는다.