2012-01-10 71 views
0

我有下面一行代码在我的程序 -C++语法错误:缺少';'之前“常量”

typedef GROUP ACE_SOCK_GROUP; 

这给出了如下的警告和错误 -

警告181警告C4091:“类型定义”:被忽略的左'int'当没有声明变量时

错误182错误C2143:语法错误:缺少';'之前“常量”

错误183错误C2059:语法错误:“常量”

组的定义,在由我的计划包括为另一个文件中给出 -

typedef unsigned int    GROUP; 
  • 这里的“常量”是指什么?
  • 什么可能导致错误?
  • 什么是表示

我使用Visual Studio 2008和发现组的定义,使用F12功能

回答

3

的代码是正确的警告。

你忘了,包括在那里GROUP定义的文件。

您可以尝试一个简单的测试,以确认这是问题:

typedef unsigned int    GROUP; 
typedef GROUP ACE_SOCK_GROUP; 

如果编译,它将,这意味着GROUP先前的定义是没有看到。在定义ACE_SOCK_GROUP之前,您需要包含该文件。

+0

我想构建一个现有的解决方案。我已经验证该解决方案工作得很好,无需更改代码即可构建,只需更改环境/属性设置即可。 除了此文件与包含GROUP定义的文件之间的链接外,我还可以考虑其他哪些因素来解决此问题? – 2012-01-10 09:12:15

+1

@ShaileshTainwala可能有预处理器定义,它们不包含构建中的“GROUP”定义。您可以检查typedef是否在'#ifdef /#endif'或#if defined /#endif'宏之间。你有没有尝试过我建议的测试? – 2012-01-10 09:28:25

相关问题