私はかなり理解していない何か変わったことを経験しています。解決識別子 "xxx"は定義されていません
私はのようなエラーが発生します:
framework/CP_STLArrayDefines.h(37): error: identifier "CP_String" is undefined
typedef std::vector<CP_String, std::allocator<CP_String> > CP_Strings_Array;
^
framework/CP_STLArrayDefines.h(37): error: identifier "CP_String" is undefined
typedef std::vector<CP_String, std::allocator<CP_String> >
しかし、私はCP_STLArrayDefinesで見て行けば、私ははっきりとやっている:私はCP_String.hを見て、.CPPを行けば
#include "CP_String.h"
を、彼らがいるようです良い。
彼らは両方とも、など、同じディレクトリにある
私は何の事を探してください?ここで
はCP_STLArrayDefine.hです:両方のファイルが互いを含めるようにしようとするよう
#ifndef CP_STLArrayDefines_H
#define CP_STLArrayDefines_H
#ifndef TARGET_OS_LINUX
# pragma once
#endif
// CPLAT_Framework
#include "CP_Point.h"
#include "CP_String.h"
#include "CP_Types.h"
// Standard Library
#include <vector>
CPLAT_Begin_Namespace_CPLAT
// typedefs
#if ! TARGET_OS_LINUX
typedef std::vector`<CP_String, std::allocator<`CP_String>` >` CP_Strings_Array;
typedef std::vector`<CP_String, std::allocator<`CP_String>` >`::iterator CP_Strings_Iterator;
typedef std::vector`<CP_String, std::allocator<`CP_String>` >`::reverse_iterator CP_Strings_ReverseIterator;
ファイルはCP_String.hと呼ばれますが、興味のあるクラスは確実ですか? –
は、http://stackoverflow.com/questions/1282212/global-structs-not-being-seenの亜種のように聞こえます –
また、ヘッダーファイル間に循環依存がないことを確認してください。 – Naveen