所以我有2類讓我們稱之爲A類和B,其與這些類的內部對彼此作爲一個函數的參數的參考。當我嘗試着聲明它是這樣的: // A.h (Header guarded)
namespace ns {
class B { // Attempt to forward declare B
public:
int getRand();
};
class A {
這將編譯 #include "Sprite.h"
class GameObject
{
public:
int x, y, w, h;
Sprite sprite;
public:
GameObject();
GameObject(int _x, int _y, int _w, int _h);
virtual ~Ga
我有以下問題: class Bar
{
std::array<int, Foo::Baz::LEN> array;
};
class Foo
{
Bar bar;
public:
enum class Baz
{
VAL_1 = 0, VAL_2, LEN
};
}
有什麼辦法,同時保持它在class Foo枚舉類的聲
考慮下面的代碼片斷,其中,所述第一線僅用作向前聲明 class A;
隨後定義新的類 class B
{
vector<A> Av; //line 1
map<int, A> Am; //line 2
pair<int, A> Ap; //line 3
};
線1和線2似乎對前向聲明(這可能會告訴我那些容器使用指針類型的實現)的罰款,其中第3行似乎沒有在VS2012上編譯。 我的
我有以下情況: class_a.hpp: #include "class_b.hpp" // is this "include" mandatory?
class class_a{
private:
class_b b;
};
class_a.cpp: #include "class_b.hpp"
//code that uses member variables and f