XCode не распознает вполне очевидные ошибки синтаксиса C++.C++

Программы на C++. Форум разработчиков
Anonymous
 XCode не распознает вполне очевидные ошибки синтаксиса C++.

Сообщение Anonymous »

Я только что обнаружил, что некоторые очевидные синтаксические ошибки не были обнаружены 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 &copy, boolean v) принимает в конструкторе два параметра. Его можно спутать со вторым конструктором Bike (логическим), однако даже когда я указываю:

Код: Выделить всё

Bike *b = new Bike ((Bike &)*input);
он ​​не замечает никаких проблем.

Есть идеи, почему это происходит? Есть ли какие-либо настройки компилятора, которые контролируют это?

Подробнее здесь: https://stackoverflow.com/questions/620 ... tax-errors

Вернуться в «C++»