ヘッダーファイルのいくつかのクラス(vlr名前空間)には、次の形式のパブリックメンバーがあります。
std::multiset<classA,classB::ClassC> data_;
私のプログラムではどこかで空になっているので、コンテンツが失われる前にそのコンテンツを保存するためのバッファーを作成したいと思います。したがって、宣言のすべての行の下に、ヘッダーのクラスの古いメンバーに次のような行を追加します。
std::multiset<classA,classB::ClassC> data_buff_;
次に、バッファリングのために、いくつかの.cppファイルに書き込みます。
data_buff_.insert(data_);
ここでerrorC4430を取得します:型指定子がありません。intと見なされます。 エラーが発生した行に名前空間を指定しようとしていたので、このデータを適切にバッファリングする方法を教えてください。何も役に立ちませんでした。
どうもありがとう!- - - - - - - - - アップデート - - - - - - - -
ClassA.h:
namespace vlr {
class A{
// some unimportant things
}
}
ClassB.h:
namespace vlr {
class B{
// some unimportant things
public:
class C{
// some unimportant things
}
}
}
ClassD.h:
#include <set>
#include "ClassA.h"
#include "ClassB.h"
namespace vlr {
class D {
public:
std::multiset<classA,classB::ClassC> data_;
std::multiset<classA,classB::ClassC> data_buff_;
// some other methods and members
}
}
ClassE.h:
#include <set>
#include "ClassA.h"
#include "ClassB.h"
namespace vlr {
class E {
public:
std::multiset<classA,classB::ClassC> data_;
std::multiset<classA,classB::ClassC> data_buff_;
// some other methods and members
}
}
final.cpp:
#include <set>
#include "ClassA.h"
#include "ClassB.h"
#include "ClassD.h"
#include "ClassE.h"
namespace vlr{
// something
data_buff_.insert(data_);
data_.clear();
}