toge's diary

コンピュータ関連の趣味をつらつらと。

namespaceを使わなかった男の末路

ええ、そうですよ。どうせ適当にC++でプログラミングをしていた私が悪いんですよ。
以下GLEE移行で発生した問題。しかもWindowsでは問題なし。

./Window.h:13: error: using typedef-name 'Window' after 'class'
/usr/include/X11/X.h:101: error: 'Window' has a previous declaration here

で/usr/include/X11/X.hの該当部分。

typedef XID Window;

・・・何にせよ、namespaceで独自の名前空間を作っていれば回避できたこと。
ライブラリだろうが、アプリケーションだろうが名前空間を使わんのは、後で何が起こっても知らんぞ、という教訓でした。

GLEE移行も、ログメッセージ埋め込みもやっと終わったのに次は名前空間か・・・。何回ソースコード直せばいいのやら。