2016-07-14 1 views
-3

としてビットセットの例を与える。この
[ERROR]は:ISO C++には、「ビットセット」との宣言を禁止タイプ私は取得していますstructure.Asの一員としてビットセットを使用する方法がわからないCでの構造体のメンバ++

コードいいえ:

typedef struct 
{ 
    bitset<10> status;   //bitwise status 
}Status; 
+0

をそれは 'のstd :: bitset'です。そして、 '#' –

+0

を忘れずに、私はすでにそれを行っています。しかし、それでもこのエラーが発生しています –

答えて

1

頻繁にあなたがしようとしたしているものの多くの例を与えるために、スタックオーバーフローに礼儀正しいと考えられています、そしてあなたは助けを見てきたところ。

#include <iostream> 
#include <bitset> // you'll need to include this 

struct status_t { 
    std::bitset<11> status; // note the std - it's in that namespace 
}; 

int main() 
{ 

status_t stat; 

for (auto i = 0; i < 11 ; i += 2) 
    stat.status.set(i); 

    std::cout << "values: " << stat.status << "!\n"; 
} 

あなたはそれがエラーのこの種はによって引き起こされる可能性がcpp.sh - Bitset example

1

で実行見ることができます。たとえば、あなたがhttp://en.cppreference.com/w/cpp/utility/bitset

の内容を理解しようとしましたが、ここにいると言うかもしれませんbitsetインクルードを省略するか、std名前空間を指定することができません。

問題修正するには、次の

1)あなたはビットセットを含めていることを確認してください:

#include <bitset> 

2)はstd名前空間が指定されていることを確認します

これはどちらか "行うことができます

using namespace std; 

のいずれかを使用してファイル内で「グローバルに」指定するか、 STDとビットセット宣言:だから

std::bitset<10> status;   //bitwise status 

、あなたの最終的なファイルの断片が、このようなものになります:

#include <bitset> 

// other code ... 

typedef struct { 
    std::bitset<10> status;  // bitwise status 
}Status; 

// the rest of the file ... 
+0

Rinkal、私は50の評判を持っていた場合私の答えの代わりにあなたの質問にこのコメントを追加するだろうが、私はしない...問題の詳細を提供できますか?おそらく、完全なソースファイル、実行しているオペレーティングシステム、および使用しているコンパイラ? – dclark

関連する問題