2011-03-07 155 views
0

我觉得现在这样愚蠢:C++只是一个语法错误:语法错误:标识符

moveSequence look(COORD xyBeatle, fieldd &field); 

什么能如此错了,给一个语法错误?

error C2061: syntax error : identifier 'fieldd' 

我所试图做的是传递一个一类fielddlook()通过参考:

moveSequence sequence = look(xy, m_field); 

它似乎并不承认类型字段

其实我散布错误所有关于应该是类型字段的东西都有类型int假定等..

这是经过长时间的重构ng,甚至没有回到编译的地步,所以我不知道什么改变立即造成了这一点。


编辑:现在我注意到,智能感知强调,只一会儿,断断续续的地方,编译器抛出真正的错误.....我禁用PCH和改建,但并没有工作。


EDIT2: 变量名是没有问题的,这是第一件事我试过一次。


EDIT3: 我终于能够赶上智能感知的错误之一,它很快更改为"class fieldd"前阅读"identifier "fieldd" is undefined"我认为这可能是与头一个问题。这家伙问题是标题:http://www.gamedev.net/topic/555445-solvederror-c2061-syntax-error--identifier-t3dobject/

+1

A *星期*的重构?之前有一个名称,我们只是称它为“重写”! – 2011-03-07 04:33:11

+0

它几乎是,它失控了。每当我读书时,我都会学习如何做一些“更正确的事情”,而且看起来好一会儿,直到我意识到它已经破坏了别的东西......这让我们可以更多地搜索它......循环 – Zak 2011-03-07 04:38:43

回答

1

我们确实需要更多的代码来识别您的问题,但是我想知道是否需要转发declare fieldd,因为您已将代码重构为不同的文件,也许头文件没有正确包含,或者依赖关系不再有意义?

将您的声明更改为:moveSequence look(COORD xyBeatle,class fieldd & field) 可能会为您提供更多信息。

+0

它是循环头文件包含的,并且前面的声明修正了它......只是为了暴露下一个文件中的数百个其他错误,我必须通过包括链接问题来解决问题,谢谢让我解除错误。 – Zak 2011-03-07 06:39:13

3

field似乎是一个类型的名称。使用不同的变量名称。

+0

之前我这样做,我会说在改变事情之前,名为'field'的类不是问题。这仍然是问题吗? – Zak 2011-03-07 04:33:10

+0

我无法回答,因为我不知道你改变了什么。但是从上面的代码开始,因为这是你给我们继续下去的所有东西,所以它看起来和使用int int作为函数或方法的参数相当。看看为什么这不起作用? – 2011-03-07 04:36:45

+0

我同意你的处方,使参数名称与参数类型不同。但它与int int不类似,因为int是一个关键字。 – 2011-03-07 05:00:50

0

fieldd如果我理解的很好,不会被视为一种类型。

fieldd foobar是否在触发错误的行上起作用?如果不是,可能是你错过了包含声明fieldd