- 837 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 21:04:50 ]
- gcc.gnu.org/ml/gcc-patches/2007-06/msg01075.html
g++の変更の論拠がここに書いてあるな。標準の7.1.1-1を見ると確かにエラーが正しいように見える 回避策は、 1. 単に32行目のstaticを削除する これでg++-4.3ではちゃんとstatic扱いになるはずだけど、g++-4.2だとそうならないので複数定義エラーになる 2. lexical_cast自体を非staticにする 別にこれをstaticにする理由はないと思うので、20行目と32行目のstaticを削る この場合、特殊化をヘッダに置いたままにしておくと複数定義になってまずいので、 ヘッダには宣言だけにして定義をparam.cppに移すか、あるいは単にinlineを付けるのでもいい 3. lexical_castを削除する grepしてみたら使われてないようなので
|

|