XCode无法识别非常明显的C ++语法错误

时间:2011-06-01 16:17:59

标签: xcode compiler-construction syntax

我刚刚发现XCode(版本3.2.3)没有找到一些明显的语法错误。我的应用程序使用Obj-C(用于界面)和C ++(用于应用程序的其余部分)的组合。这是一个例子:

class Bike
{
   Bike (Bike &copy, boolean v) { .. }
   Bike (boolean v) { .. }
}
class Data
{
   static *Bike findBikeByID (int id) { .. }
}

有问题的电话如下:

void function ()
{
   Bike item = Data::findBikeByID (123); // error

   // correct code (Data::findBikeByID returns a pointer, not a reference)
   // Bike * item = Data::findBikeByID (123); // correct 
}

它未能报告的另一个错误是:

void function (Bike *input)
{
  Bike *b = new Bike (*input); // error, should pass 2 arguments 
}

Bike(Bike& copy,boolean v)在构造函数中有两个参数。它可能与第二个构造函数Bike(boolean)混淆,但即使我指定:

Bike *b = new Bike ((Bike &)*input);

没有发现任何问题。

为什么会发生这种情况?是否有任何编译器设置可以控制它?

0 个答案:

没有答案