【发布时间】:2009-08-17 17:00:50
【问题描述】:
我正在经历一些我不太明白的奇怪事情。
我收到如下错误:
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,我显然在做:
#include "CP_String.h"
如果我去看看 CP_String.h 和 .cpp,它们看起来还不错。
它们都在同一个目录中,等等。
我应该寻找什么?
这里是 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,但是你确定你感兴趣的类是?
-
还有,你确定头文件之间没有循环依赖?
-
@neil - 是的,这就是我想要的类,并且已经有大约 600 个源文件可以正常使用。也许这个问题的一部分与重新组织源有关。
-
您能否在您的帖子中包含 CP_STLArrayDefines.h 的内容?至少到第 37 行。这可能会让我们更深入地了解您的问题。另外,您使用的是什么编译器和编译器版本?
标签: c++ compiler-errors