次の方法で共有


コンパイラの警告 (レベル 1) C4042

'identifier': 指定されたストレージ クラスは、このコンテキストでは使えません。

このコンテキストでは、指定されたストレージ クラスをこの識別子と一緒に使用することはできません。 代わりに既定のストレージ クラスが使用されます。

  • extern: identifier が関数の場合。

  • auto: identifier が仮引数またはローカル変数の場合。

  • ストレージ クラスなし: identifier がグローバル変数の場合。

register 以外のストレージ クラスをパラメーターの宣言で指定すると、この警告が表示されることがあります。

次の例では C4042 が生成されます。

// C4042.cpp
// compile with: /W1 /LD
int func2( __declspec( thread ) int tls_i )    // C4042
// try the following line instead
// int func2( int tls_i )
{
   return tls_i;
}