Cpp main must return int

Ошибка main’ must return ‘int’

Line 6: error: ‘::main’ must return ‘int’ compilation terminated due to -Wfatal-errors.

Вот задаие::Данная матрица А (4,5), элементы умножить на скаляр C = 5,2. Элементы третьего столбца вислиднои матрицы заменить единицами.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
#include #include using namespace std; void main(){ const int n = 4, m = 5; int arr[n][m]; float c = 5.2; //Автозаполнение массива(матрицы) for(int i = 0; i  n; i++) for(int j = 0; j  m; j++) arr[i][j]=-100+rand()%200; //Вывод массива(матрицы) for(int i = 0; i  n; i++){ for(int j = 0; j  m; j++) cout(6)[i][j]; cout; } //Множим на скаляр for(int i = 0; i  n; i++) for(int j = 0; j  m; j++) arr[i][j]*=c; //Заменяем елементы 3-го столпца на еденицы for(int i = 0; i  n; i++) arr[i][2] = 1; cout;//Делаем отступ первого массива от другого //Выводим конечный массив(матрицу) for(int i = 0; i  n; i++){ for(int j = 0; j  m; j++) cout(6)[i][j]; cout; } _getch(); }

Источник

Ошибка компилирования «error: ‘::main’ must return ‘int’»

Ошибка при компиляции In function»int main()»; expected ‘;’, before «cin», [Build Error] [main.o] Error 1
Книга "Основы программирования на C++ том 1"(Стэнли Б.Липпман). Приводится пример кода. #include.

Ошибка «error C2446: :: нет преобразования «int» в «char *»
Ошибка: "error C2446: :: нет преобразования "int" в "char *" Когда нажимаю двойным кликом на.

Ошибка в функции main: «expected ‘;’ before ‘return'»
сегодня решил начать изучение с++ сразу наткнулся на проблемы,чуть ли не в каждой строчке,гуглил.

ЦитатаСообщение от Romanusgho Посмотреть сообщение

ЦитатаСообщение от Romanusgho Посмотреть сообщение

double v, x, y,z,k; double min1=0.0; double max=0.0; double min2=0.0;

ЦитатаСообщение от Romanusgho Посмотреть сообщение

Если бы вы попытались скомпилировать свой код и посмотрели что же именно за «ошибочка», сами бы и исправили:

$ g++ main.c -Wall -Wextra -Wpedantic main.c:6:13: error: ‘::main’ must return ‘int’ double main()

функция main по стандарту должна быть объявлена как int main( int argc, char *argv[] ) , но допускается и вариант int main( void ) . Исправляем.

g++ main.c -Wall -Wextra -Wpedantic $ ./a.out input x: > 1 input y: > 2 v=0

Как видите, ошибка больше не возникает. А что при присвоении дробных чисел целочисленным преременным идет округление вниз, long399 уже написал.

ЦитатаСообщение от COKPOWEHEU Посмотреть сообщение

Ну-ну, давайте будем грамотными и таки говорить о С++ в разделе о С++ и не подкладывать свинью начинающим, ато еще так и писать начнут да людей путать.
void здесь абсолютно не нужен в Си он играет свою роль (тк там без него будет елипсис), в С++ свою.
Все таки это разные языки.

ЦитатаСообщение от Azazel-San Посмотреть сообщение

An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters.

ЦитатаСообщение от Azazel-San Посмотреть сообщение

В C++ этот void не обязателен. Да, собственно говоря, в Си он тоже не ахти какая ошибка: без него функцию main() можно вызывать с произвольными аргументами, но в коде они использоваться все равно не будут, а за целостностью стека следит вызывающая сторона, которая сама за собой приберет.
Я сталкивался с более интересной особенностью: библиотека SDL требует объявления main строго как int main( int argc, char **argv ) и никак иначе. В противном случае ошибка линковки.

ЦитатаСообщение от rat0r Посмотреть сообщение

Спасибо за поправку.
Получается, в Си все ок? Все время думал там елипсис будет (я в Си не шарю).
Да и везде говорят (на SO), что тогда туда можно что угодно засунуть..
Хм, знач там не елипсис, а просто аргументы/кол-во аргументов не определено?
Открыл стандарт Си (впервые), там есть еще и продолжение:

Цитата

Сообщение от N1256 6.7.5.3/14

An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of the parameters is supplied.

void foo(); // declaration . void foo(int a, int b) // definition { }

Цитата

Сообщение от Azazel-San

ЦитатаСообщение от COKPOWEHEU Посмотреть сообщение

без него функцию main() можно вызывать с произвольными аргументами, но в коде они использоваться все равно не будут

Что это значит? Как оказалось все не так просто и это может быть UB?
Открыл стандарт Си (второй раз):

Цитата

Сообщение от N1256 6.5.2.2/6

If the expression [. ]
If the function is defined with a type that does not include a prototype, and the types of
the arguments after promotion are not compatible with those of the parameters after
promotion, the behavior is undefined
[. ]

void foo() {} . char* str; foo(str); // 

Источник

Cpp main must return int

Whenever I compile this (see below) with gcc on Cygwin it returns with:
test.cpp:25: error: ‘main’ must return ‘int’;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 // Use the standard namespace using namespace std; // Define the question class class Question < private: string Question_Text; string Answer_1; string Answer_2; string Answer_3; string Answer_4; int Correct_Answer; int Prize_Amount; //How much the question is worth public: void setValues (string, string, string, string, string, int, int); >; void main() < // Show the title screen cout "****************" << endl; cout "*The Quiz Show*" << endl; cout "By Peter" << endl; cout "****************" // Create instances of Question Question q1; // Set the values of the Question instances q1.setValues("What does cout do?", "Eject a CD", "Send text to the printer", "Print text on the screen", "Play a sound", 3, 2500); > // Store values for Question variables void Question::setValues (string q, string a1, string a2, string a3, string a4, int ca, int pa)

Источник

Ошибка main должен возвращать int

ошибка: `main» должен вернуть `int» и т.д. перепробовал много вариантов у меня DEV C++ понятно что с тех пор как написали c++ для чайников и много другой литературы изменился стандарт вместо iostream.h iostream и т.д. подскажите чего делать,или название адекватной литературы или как с этим бороться.

Эксперт по электронике

include . > int main()  /* тело функции*/ return 0; >

87844 / 49110 / 22898

Помогаю со студенческими работами здесь

Ошибка компилирования «error: ‘::main’ must return ‘int’»
должно быть всё верно но вылазит ошибочка,кто знает в чем трабл
#include <iostream>
#include…

Ошибка при сборке многофайлового проекта: «невозможно преобразовать «int» в «const golf»
Сделал многофайловую программу программу, вот она:
//golf.h
#include <iostream>
#ifndef golg_h_…

Ошибка: «невозможно преобразовать аргумент 1 из «int [3][3]» в «int **»»
Приветствую, сделал задание, но выдает вот такую ошибку "int sum(int **,int)": невозможно…

Ошибка «error C2446: :: нет преобразования «int» в «char *»
Ошибка: "error C2446: :: нет преобразования "int" в "char *"

Когда нажимаю двойным кликом на…

В зависимости от времени года «весна», «лето», «осень», «зима» определить погоду «тепло», «жарко», «холодно», «очень холодно»
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло",…

Ошибка: «Отсутствует оператор «>>», соотвествующий этим операндам. Типы операндов: std::ifsteam>>int*»
#include<fstream>
#include<iostream>
#include <string>
using namespace std;
int main()

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

void main(int argc, char **argv) < if (argc >= 4) < ProcessScheduler *processScheduler; std::cout else < processScheduler = new ProcessScheduler( argv[2], atoi(argv[3]), atoi(argv[4]), atoi(argv[5]) ); >processScheduler -> LoadFile(argv[1]); processScheduler -> RunProcesses(); GanntChart ganntChart(*processScheduler); ganntChart.DisplayChart(); ganntChart.DisplayTable(); ganntChart.DisplaySummary(); system("pause"); delete processScheduler; > else < PrintUsage(); >> 

The error I get when I compile is this:

Application.cpp:41:32: error: ‘::main’ must return ‘int’

It’s a void function how can I return int and how do I fix it?

3,063 7 gold badges 37 silver badges 83 bronze badges

Источник

[C/C++] error: ‘::main’ must return ‘int’

спс, это я и так вижу. Как исправить, но чтоб первые 2 строчки не трогать?

Вы когда-нибудь поймёте, что вторую строчку лучше трогать)))

Да, кстати, стандарт одобряэ ) Справедливо только для main.

#include #include using namespace std; int main()

дооо. ещё cstdlib туда лепить)))))

более академично: влияет только на препроцессор, что при современных процессорах не имеет значения, ничего лишнего не линкуется же. и вдруг через полсотни лет, когда уже все забудут про цпп, кто-то задастся вопросом — почему именно 0
^_^

И тут я понял, чем не угодил kdevelop из соседнего топика.

Ну лично я собираюсь через 50 лет программировать нанитов и манипулировать генами. . если конечно ресурсы планеты не закончатся и наша цивилизация не войдёт в тёмную эпоху деградации и развитого каннибализма )))

> Ну лично я собираюсь через 50 лет программировать нанитов и манипулировать генами. . если конечно ресурсы планеты не закончатся и наша цивилизация не войдёт в тёмную эпоху деградации и развитого каннибализма )))

Источник

Читайте также:  Создание массив объектов java
Оцените статью