Ошибка "конфликт имен"

Рейтинг: 1Ответов: 1Опубликовано: 24.06.2011

У меня проблема при объявлении константы в начале кода. У меня компилятор дает ошибку, не видя её (константу) в main; если объявить в самом классе, тогда не видит функция. Вот, например:

using namespace std;

const int max = 5;

int main()
{
    void centimize(double *);
    double varray[max] = { 10.0, 41.1, 95.9, 87.4, 87.3 };
    centimize(varray);

    for (int j = 0; j < max; j++)
        cout << "varray [ " << j << "] = " << varray[j] <<
            "сантимаетров " << endl;
    return 0;
}

void centimize(double *ptrd)
{
    for (int j = 0; j < max; j++)
        *ptrd++ *= 2.54;
}

Ответы

▲ 5Принят

У вас какой-то clash. Похоже что max уже где-то в стандартных внутренностях объявлена. Переименуйте max во что-нибудь другое и всё взлетит.