cout << a << endl;
ってやるとき、 a は何にキャストされようとしているの?