>>547
プログラムとか書いたことの無い素人なのでようわからんが、
>定数の char ポインタとスタック中に置かれたオブジェクトのメンバとの間で
>aliasing が起きうる
ということではなくて、puts()の中身についてコンパイラがなんら仮定を置けないことに由来するもの

ひょっとしたら、どっか別の翻訳単位において、グローバル変数か何か経由で
vectorのアドレスがputs()に筒抜けなのかもしれない、
とコンパイラは想定せざるを得ない。それが合法なコードとして実現可能な以上は、、、