私はこの質問を見てきました:ヘッダーとソースファイル間の「クラスタイプの再定義」エラー
上記の質問と重複する場合は、まず以下のコードを確認してください。
問題は、「クラス型の再定義」が発生しないはずであるということです。
これがコードです。
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。次に、ファイルをソリューションに再度追加します。Windows 8で実行されているVisual Studio 2012を使用しています