Problem of Sun C++ 4.2

vbo 2000-07-06 10:08:00
以下程序在别的C++下编译都没有问题。
class Type1
{
public:
typedef int Direction;
}
....
enum Direction {in,out};

用Sun C++4.2编译时会出现错误:Direction重复定义。
但下面一段程序确不会出错:
class Type1
{
public:
typedef int Direction;
}
class Type2
{
public:
typedef int Direction;
}
....
enum Direction {in,out};
下面的方式也不会出错:
enum Direction {in,out};
class Type1
{
public:
typedef int Direction;
}
请教各位大虾是否是编译器本身有问题,还是说程序编写不符合ANSI C++规范。
谢谢。
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbo 2000-07-07
  • 打赏
  • 举报
回复
问题已经解决:在源文件include时,将定义枚举的头文件放在定义class的文件之前既可编译通过。
谢谢大家!
halfdream 2000-07-06
  • 打赏
  • 举报
回复
class Type1
{
public:
typedef int Direction;
~~~~~~~~~~~~~~~~~~~~~~\这儿不知道合不合规范?
}
类型定义在类的内部来定义这种语法我不知道ANSI C++ 中有没有。
gun2 2000-07-06
  • 打赏
  • 举报
回复
ansi是支持这样的写法的,比如用vc就可以。
但sun的c++ 4。2不(完全)支持ansi。这样是不行的。
vbo 2000-07-06
  • 打赏
  • 举报
回复
这样的代码是由工具生成的,应该没有问题。

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧