高分求答案,语法编译出错,急!!!
如下的一个头文件的代码在VC7下如果编译目标是静态库形式则没有问题,如果是动态库则报如下错误信息 error C2143: 语法错误 : 缺少“}”(在“常数”的前面)
迷惑,郁闷啊!
namespace MSN
{
class Message
{
public:
enum FontEffects
{
BOLD_FONT = 1,
ITALIC_FONT = 2,
UNDERLINE_FONT = 4,
STRIKETHROUGH_FONT = 8
};
enum CharacterSet
{
ANSI_CHARSET = 0x00, //<<<<----编译出错指向这行
DEFAULT_CHARSET = 0x01,
OEM_DEFAULT = 0xff
};
enum FontFamily
{
FF_DONTCARE = 0,
FF_ROMAN = 1,
FF_SWISS = 2,
FF_MODERN = 3,
FF_SCRIPT = 4,
FF_DECORATIVE = 5
};
enum FontPitch
{
DEFAULT_PITCH = 0,
FIXED_PITCH = 1,
VARIABLE_PITCH = 2
};
class Headers
{
public:
Headers(const std::string & rawContents_) : rawContents(rawContents_) {};
Headers() : rawContents("") {};
std::string asString() const;
std::string operator[](const std::string header) const;
void setHeader(const std::string header, const std::string value);
private:
std::string rawContents;
};
private:
std::string body;
Message::Headers header;
public:
void setFontCharacterSet(CharacterSet cs);
}
问题点数:100、回复次数:5Top
1 楼Stefine(CSDN最菜滴猩猩)回复于 2006-03-20 18:17:33 得分 10
初步猜测:应该是动态库里不包含这个数据类型ANSI_CHARSET
只是猜测,请楼下的帮忙证实Top
2 楼orbit(走了走了)回复于 2006-03-20 18:30:10 得分 30
ANSI_CHARSET 是不是系统定义过的标号?Top
3 楼Mackz(在相互)回复于 2006-03-20 18:30:36 得分 50
改个名字看。尽量不要用内置的常量名。Top
4 楼orbit(走了走了)回复于 2006-03-20 18:34:36 得分 10
2006-03-20 18:30:00 准时发生Top
5 楼chaomz(chaomz)回复于 2006-03-20 18:43:51 得分 0
哦,可能是系统已经有这个定义了,我改个名字就好了,但静态库为什么可以呢?Top




