170 похожих чатов

А у меня тейк именно то что почему две правильные

сигнатуры мейна выдают ошибку?

37 ответов

10 просмотров

https://eel.is/c++draft/basic.start.main#1 Exactly one

Max Kolesnikov
https://eel.is/c++draft/basic.start.main#1 Exactl...

Так вопрос же не в этом, я понимаю почему перегрузка мейна запрещена. Я не понимаю почему компилятор явно не жалуется на это?

Тимата 🏳️‍🌈 Тэнкю
Так вопрос же не в этом, я понимаю почему перегруз...

Кстати возможно все гораздо проще и проверка перегрузок идет просто раньше проверок мейна, вот он на этой ошибке в первую очередь и валится

Тимата 🏳️‍🌈 Тэнкю
Так вопрос же не в этом, я понимаю почему перегруз...

clang вполне себе диагностирует это <source>:5:5: error: conflicting types for 'main' int main(int, char**) { ^ <source>:1:5: note: previous definition is here int main() { ^

Vlad
clang вполне себе диагностирует это <source>:5:5: ...

Но... в С++ же можно перегружать :(

Vlad
clang вполне себе диагностирует это <source>:5:5: ...

Вот человек и жалуется, что там не как в мсвц. Явно про main не написано <source>(6): error C2731: 'main': function cannot be overloaded <source>(6): note: see declaration of 'main'

Егор (Дима)
не обязан потому что

в формулировке shall без оговорок про диагностики, так что должен

Тимата 🏳️‍🌈 Тэнкю
Но... в С++ же можно перегружать :(

А как ты себе это представляешь то? Стартовой же функции плевать какие аргументы на самом деле у мейна, поддерживает, к примеру, компиль 3 аргумента, значит кинет она в мейн 3 аргумента в любом случае. Поэтому не особо понимаю твою демагогию по данному вопросу.

BlackBloodyRabbit Rabbit
А как ты себе это представляешь то? Стартовой же ф...

Я скорее про то, что стандарт явно запрещает перегрузку мейна, а два компиля ведут себя так, будто это просто какая-то сишная функция

Тимата 🏳️‍🌈 Тэнкю
Я скорее про то, что стандарт явно запрещает перег...

Компиляторы себя ведут в строгом соответствии со стандартом. Если вам это не нравится - ищите другой язык. Зачем тут флудить-то?🤬

Boris Usievich
Компиляторы себя ведут в строгом соответствии со с...

Почему строго? Некоторые компиляторы не реализуют фишки новых стандартов и тд

Ilya Zviagin
Main - не функция!

Ну я даже рекурсию на ней сделать могу

Aleksander Spichak
могу

Выше читай

Aleksander Spichak
могу

Не можешь, стандарт запрещает использовать main в программе как я угодно

Aleksander Spichak
могу

Ну, технически можно даже на ноль делить, только результат будет не совсем тот.

Ilya Zviagin
Выше читай

https://godbolt.org/z/o94v935bP

Aleksander Spichak
https://godbolt.org/z/o94v935bP

Ah, yes... Классическое "мое уб собралось и запустилось" Можно и нуллптр разыменовать и все будет работать

Aleksander Spichak
https://godbolt.org/z/o94v935bP

Это UB, компилятор не обязан его детектировать

Ilya Zviagin
Это UB, компилятор не обязан его детектировать

В стандарте прямо написано что так нельзя, так почему оно компилируется? При чем всей большой троицей. Стандартом такое запрещено, но компилируется. И даже запускается.

Aleksander Spichak
В стандарте прямо написано что так нельзя, так поч...

UB оно такое. И собирается, и работает, вот только незадача, стандарт больше на вашу программу не распространяется. Совсем. На всю.

Aleksander Spichak
В стандарте прямо написано что так нельзя, так поч...

Уб компилируется ТК это уже становится кодом на конкретной машине

Max Kolesnikov
UB оно такое. И собирается, и работает, вот только...

Компилятор имеет право делать что хочет вообще, если у вас хоть где-то UB. И никто не знает, что произойдет

Max Kolesnikov
Компилятор имеет право делать что хочет вообще, ес...

gcc старается нормально, а clang делает что хочет

'Егор 'Зорин
gcc старается нормально, а clang делает что хочет

Они все делают что хотят, просто вам повезло, что один сделал "правильно", как вам кажется

Max Kolesnikov
Они все делают что хотят, просто вам повезло, что ...

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

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
32
какие клиентские датасеты в лазаре умеют объединяться в master-detail? нужно забрать на клиент запись из одной таблицы и выборку из другой связанной один-ко-многим, отредактир...
Igor
19
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
43
кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
40
/////////////////////////////////////// TChart / TLineSeries - сохранение данных (текстовый файл) /////////////////////////////////////// добрый день / работа с графиком: 1....
livontiy
14
Подскажите, пожалуйста, как отключить очень сильно доставшие меня подсказки в QT Creator? Они просто мешают видеть то, что я пишу, как гирлянда е.... Просто пишешь одну букву...
Mitchel R
3
Hello I was able to secure a job interview and I need to attend it in 7 hours. I'm so stressed right now, and I also have trust issues so I have this feeling that they may try...
Senator
7
Делал сайт заказчику в 2018г. Прилетела претензия на фотку в примерах работ от copydefend (ооо "фортуна технолоджис") на 36к рублей 🙈 Конторка эта образовалась в 2023 г, и 13...
Alexander Andreev
10
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Карта сайта