2
WindowsマシンからMacにコードを移植しました。#includeヘッダファイルに関するネームスペース質問
namespace ocip {
#include "onan/ocip/ocip.h"
}
ocip.hが持っているの#include stdint.h
が含まれています。私は、ヘッダファイルには、次のコードを持っているapi.hと呼ばれていXcodeの3.2.5
とOS X 10.6を使用しています次のtypedef:
typedef unsigned int uint32_t;
今すぐ戻っapi.hに、私はそれで次のようにクラスを持っている:
OCIP :: m_nModeのuint32_t。
コンパイラは、名前空間 'ocip'のuint32_tは型を指定していないことを伝えます。
私が間違っていることは何ですか?
私は、私の質問でキーワードを省略したことに気付きました。ocip.hにはstdint.hが含まれています。これはocip :: uint32_tが望むものでした。これは、私がstdint.hをインクルードしていて、その中で名前空間を使うことができないことを意味しますか? –
stdint内のすべてがstd名前空間にあります。 "ocip :: std :: uint32_t"を試してみてくださいが、#includeを名前空間宣言の前に移動してから、 "using namespace std"を実行する必要があると思います。 – Chris
uint32_t isn ' std :: uint32_tはocip ::がある場合とない場合は動作しません。 stdint.hを見ると、名前空間もありません。まだocip :: uint32_tのように動作するはずですが、そうではありません –