C++ 移行ガイド ホーム目次前ページへ次ページへ索引


第 5 章

C++ 3.0 からの移行

ここでは、C++ 3.0 または 3.0.1 コンパイラ用に作成したコードを Sun WorkShop 6 C++ 用に移行するときのいくつかの注意事項について説明します。

C++ 3.0 コンパイラ以降に追加されたキーワード

C++ 3.0 コンパイラ以降に C++ に追加されたキーワードは、次のとおりです。これらのキーワードを識別子として使用している場合は、名前を変更してください。表 3-1 で説明しているように、一部のキーワードを無効にすることができます。

表 5-1   C++ 3.0 コンパイラ以降に追加されたキーワード
bool、false、true 
const_cast、dynamic_cast、reinterpret_cast、static_cast
explicit
export
mutable
namespace、using
typename
wchar_t

ソースコードの非互換性

C++ 3.0 コンパイラ用に作成したコードを Sun WorkShop 6 C++ コンパイラでコンパイルするには、次の変更が必要です。

代わりに、構造体、クラス、共用体でタグを使用してください。上記の例のエラーを解決する最も簡単な方法は、typedef 名をさらにタグとして使用する方法です。この方法は、C でも C++ でも許可されます。

typedef struct S { int x; } S;
struct S b; // 常に OK
S c; // 常に OK

このエラーを解決するには、T 定義のいずれかの名前を変更します。


サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.
ホーム   |   目次   |   前ページへ   |   次ページへ   |   索引