我见过这个问题:"Class type redefinition" error between header and source files
如果您只是说上述问题的重复,请先检查以下代码。
问题是“类型重新定义”不应该发生,因为我认为我已经正确地完成了它。
这是代码。
TTSpeech.h
#include <wtypes.h>
#include <string>
#include <vector>
class TTSpeech
{
public:
enum State
{
State_Loaded,
State_Unloaded,
};
TTSpeech();
virtual ~TTSpeech();
virtual bool isAvailable() = 0;
virtual bool load() = 0;
virtual bool unload() = 0;
virtual bool isLoaded() const = 0;
virtual bool say(const std::string &sentence) = 0;
virtual bool setVolume(int volume) = 0;
virtual bool setPitch(int pitch) = 0;
virtual bool setRate(int rate) = 0;
virtual bool setVoice(const std::string &voice) = 0;
virtual std::vector<std::string> getVoices() const = 0;
};
TTSpeech.cpp
#include "TTSpeech.h"
TTSpeech::TTSpeech()
{
//code
}
TTSpeech::~TTSpeech()
{
//code
}
我所做的唯一不寻常的事情是从解决方案中删除文件,因为此问题将上述文件重定位到文件夹:cannot open include no such file or directory。然后将文件重新添加到解决方案中。我正在使用Visual Studio 2012运行Windows 8