2013-10-14 8 views
-3

Это код, который принимает серию из трех чисел в числовом шаблоне и определяет разницу между ними. все кажется правильным, но мой компилятор продолжает говорить мне, что мне нужен инициализатор до int i? извините, я новичок в C++, поэтому я уверен, что мой код ужасен.Почему мой код не компилируется?

using namespace std; 

void add(int a, int b, int c) 
    int i; 
    for (a+i!=b;b+i!=c) 
    {i=0; i<100; i++;} 
    else {cout i;} 
}; 
int main() 
{ 
    int x, y, z; 
    cin>>x; 
    cin>>y; 
    cin>>z; 
    add(x, y, z); 
} 
+3

отмерь 'Int i' и вы обнаружите, что вы что-то не хватает. И я не уверен, что это связано с шаблонами дизайна. – chris

+2

Вам не хватает привязки, и у вас есть 'else' без' if'. Не приводит к счастью. Тело вашего цикла 'for' тоже нечетное; он немного похож на условие цикла 'for' ... тогда как в вашем управлении контуром' for' отсутствует хотя бы одна точка с запятой. После определения функции вам не нужна точка с запятой. По-моему, вам тоже нужен '#include '. –

+4

Этот вопрос выглядит не по теме, поскольку он касается исправления основных синтаксических ошибок и не даст никакой помощи будущим посетителям SO. –

ответ

1

Много вещей, первые вы пропустили фигурную паек после add функции.

Кроме того, у вас есть один дополнительный ; в вашей декларации.

Кроме того, после вашей функции add не должно быть ;

+0

'main' возвращает 0, когда он достигает конца, и это функция * definition *. – chris

+0

'main' не требуется явно возвращать целое число. – Ares

+0

Удалено. Но из любопытства я думал, что вам нужно сделать его недействительным, если вы не заставите его вернуть int. – Pacane

Смежные вопросы