我GOOGLE了這個錯誤消息,但我找不到與我的情況的關係。語法錯誤:標識符「MercedesFactory」?
我試圖讓一個cars abstract factory
:
#include <iostream>
using namespace std;
class IFactory
{
public:
enum FACTORIES { MERCEDES, AUDI, SKODA };
virtual const char* getCar() = 0;
static IFactory* createFactory(FACTORIES factory)
{
if(factory == MERCEDES)
return new MercedesFactory;
if(factory == AUDI)
return new AudiFactory;
else
return new SkodaFactory;
}
};
class AudiFactory : public IFactory
{
public:
const char* getCar()
{
return "Audi";
}
};
class MercedesFactory : public IFactory
{
public:
const char* getCar()
{
return "EClass";
}
};
class SkodaFactory : public IFactory
{
public:
const char* getCar()
{
return "Octavia";
}
};
我有3個錯誤:
error C2061: syntax error : identifier 'MercedesFactory'
error C2061: syntax error : identifier 'AudiFactory'
error C2061: syntax error : identifier 'SkodaFactory'
上線:
return new MercedesFactory
return new AudiFactory
return new SkodaFactory
(每行每一個錯誤)。
你能幫我找到問題嗎?提前致謝。
在定義了其他工廠之後,在類外實現'createFactory'函數。 – syam
類型必須聲明_before_他們可以使用。 –
@CaptainObvlious謝謝!作品。 – Billie