Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что значат ошибки 
V
    Опции темы
kolesnle
  Дата 30.3.2013, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



Код

//..........

struct Symbool;

Symbool simbs[5] = {{sum, false, '+','\0'}, {sub, false, '-', '\0'},
                   {mult, false, '*', '\0'}, {div, false, '/','\0'},
                                     {fir, true, '(',')'}};

struct Symbool
{
    PriorityInt (*action)(const string&);
    bool haveEnd;
    char begin;
    char end;
};

выводит 2 ошибки
Код

Код

C:\straustrup\my\calc\main.cpp|20|error: elements of array 'Symbool simbs [5]' have incomplete type|
C:\straustrup\my\calc\main.cpp|20|error: storage size of 'simbs' isn't known|


PM MAIL   Вверх
Crafty
Дата 30.3.2013, 20:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Код

//..........
struct Symbool // Структура должна быть объявлена до массива структур
{
    PriorityInt (*action)(const string&);
    bool haveEnd;
    char begin;
    char end;
};
Symbool simbs[5] = {{sum, false, '+','\0'}, {sub, false, '-', '\0'},
                   {mult, false, '*', '\0'}, {div, false, '/','\0'},
                                     {fir, true, '(',')'}};


PM MAIL   Вверх
kolesnle
Дата 30.3.2013, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



Так она вроде объявлена 
Цитата(kolesnle @  30.3.2013,  19:35 Найти цитируемый пост)
struct Symbool;

Не?

PM MAIL   Вверх
Crafty
Дата 30.3.2013, 20:12 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Цитата(kolesnle @  30.3.2013,  20:05 Найти цитируемый пост)
Так она вроде объявлена 
Цитата(kolesnle @  30.3.2013,  19:35 Найти цитируемый пост)
struct Symbool;

Не?


Ради интереса закомменть свой массив, и посмотри что напишет компилятор.
Код

//..........
struct Symbool;
/*Symbool simbs[5] = {{sum, false, '+','\0'}, {sub, false, '-', '\0'},
                   {mult, false, '*', '\0'}, {div, false, '/','\0'},
                                     {fir, true, '(',')'}};*/
struct Symbool
{
    PriorityInt (*action)(const string&);
    bool haveEnd;
    char begin;
    char end;
};


Это сообщение отредактировал(а) Crafty - 30.3.2013, 20:14
PM MAIL   Вверх
kolesnle
Дата 30.3.2013, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



И что это поможет узнать? То что ошибка в массиве? Компилятор ничего не написал

Добавлено @ 20:25
Если переместить в верх - пишет:
Код

C:\straustrup\my\calc\main.cpp|10|error: expected identifier before '*' token|
C:\straustrup\my\calc\main.cpp|10|error: ISO C++ forbids declaration of 'PriorityInt' with no type [-fpermissive]|
C:\straustrup\my\calc\main.cpp|10|error: 'PriorityInt' declared as function returning a function|
C:\straustrup\my\calc\main.cpp|27|error: too many initializers for 'Symbool'|
C:\straustrup\my\calc\main.cpp|27|error: too many initializers for 'Symbool'|
C:\straustrup\my\calc\main.cpp|27|error: too many initializers for 'Symbool'|
C:\straustrup\my\calc\main.cpp|27|error: too many initializers for 'Symbool'|
C:\straustrup\my\calc\main.cpp|27|error: too many initializers for 'Symbool'|
C:\straustrup\my\calc\main.cpp|27|warning: the address of 'PriorityInt sum(const string&)' will always evaluate as 'true' [-Waddress]|
C:\straustrup\my\calc\main.cpp|27|warning: the address of 'PriorityInt sub(const string&)' will always evaluate as 'true' [-Waddress]|
C:\straustrup\my\calc\main.cpp|27|warning: the address of 'PriorityInt mult(const string&)' will always evaluate as 'true' [-Waddress]|
C:\straustrup\my\calc\main.cpp|27|warning: the address of 'PriorityInt div(const string&)' will always evaluate as 'true' [-Waddress]|
C:\straustrup\my\calc\main.cpp|27|warning: the address of 'PriorityInt fir(const string&)' will always evaluate as 'true' [-Waddress]|
C:\straustrup\my\calc\main.cpp|29|error: redefinition of 'struct Symbool'|
C:\straustrup\my\calc\main.cpp|8|error: previous definition of 'struct Symbool'|
C:\straustrup\my\calc\main.cpp||In function 'PriorityInt sum(std::string&)':|
C:\straustrup\my\calc\main.cpp|54|warning: no return statement in function returning non-void [-Wreturn-type]|
C:\straustrup\my\calc\main.cpp||In function 'PriorityInt sub(std::string&)':|
C:\straustrup\my\calc\main.cpp|58|warning: no return statement in function returning non-void [-Wreturn-type]|
C:\straustrup\my\calc\main.cpp||In function 'PriorityInt mult(std::string&)':|
C:\straustrup\my\calc\main.cpp|62|warning: no return statement in function returning non-void [-Wreturn-type]|
C:\straustrup\my\calc\main.cpp||In function 'PriorityInt div(std::string&)':|
C:\straustrup\my\calc\main.cpp|66|warning: no return statement in function returning non-void [-Wreturn-type]|
C:\straustrup\my\calc\main.cpp||In function 'PriorityInt fir(std::string&)':|
C:\straustrup\my\calc\main.cpp|70|warning: no return statement in function returning non-void [-Wreturn-type]|
||=== Build finished: 10 errors, 10 warnings (0 minutes, 2 seconds) ===|


Половину исправил

Это сообщение отредактировал(а) kolesnle - 30.3.2013, 20:29
PM MAIL   Вверх
Crafty
Дата 30.3.2013, 20:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Код

struct Symbool // Структура должна быть объявлена до массива структур, иначе компилятор не знает сколько памяти нужно выделить под массив
{
    PriorityInt (*action)(const string&);
    bool haveEnd;
    char begin;
    char end;
};
Symbool simbs[5] = {{sum, false, '+','\0'}, {sub, false, '-', '\0'},
                   {mult, false, '*', '\0'}, {div, false, '/','\0'},
                                     {fir, true, '(',')'}};

PM MAIL   Вверх
kolesnle
Дата 30.3.2013, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



Код

struct PriorityInt
{
    int result;
    int priority;
};

struct Symbool
{
    PriorityInt (*action)(const string&);
    bool haveEnd;
    char begin;
    char end;
};

extern int getEnd(string&);

int getEnd(const string& str)
{
    int temp=0;
    for(int i=0;str[i]!=' '; i++) temp++;
    return temp;
}

PriorityInt sum(string& arguments)
{
    PriorityInt result;
    return result;

}
PriorityInt sub(string& arguments)
{
    PriorityInt result;
    return result;
}
PriorityInt mult(string& arguments)
{
    PriorityInt result;
    return result;
}
PriorityInt div(string& arguments)
{
    PriorityInt result;
    return result;
}
PriorityInt fir(string& arguments)
{
    PriorityInt result;
    return result;
}

Symbool simbs[5] = {{sum, false, '+','\0'}, {sub, false, '-', '\0'},
                   {mult, false, '*', '\0'}, {div, false, '/','\0'}, //60-я строка
                                     {fir, true, '(',')'}};


Теперь ругается на 60-ую строку
Цитата
C:\straustrup\my\calc\main.cpp|60|error: invalid conversion from 'PriorityInt (*)(std::string&) {aka PriorityInt (*)(std::basic_string<char>&)}' to 'PriorityInt (*)(const string&) {aka PriorityInt (*)(const std::basic_string<char>&)}' [-fpermissive]|



Добавлено через 12 минут и 29 секунд
Извините, я дебил, все исправил

Это сообщение отредактировал(а) kolesnle - 30.3.2013, 20:44
PM MAIL   Вверх
Crafty
Дата 30.3.2013, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Цитата(kolesnle @  30.3.2013,  20:35 Найти цитируемый пост)
все исправил
 Отмечай тему как решеную тогда.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.