0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 15
|
|||||||||||
1 | |||||||||||
Перегрузка функции через макрос, предупреждение в _Generic на каст перекрестно23.07.2020, 23:31. Показов 1876. Ответов 3
Метки нет (Все метки)
Есть код, в котором происходит перегрузка функции через макрос.
Компилятор выдаёт предупреждение на каст переменных, но скомпилированная программа работает правильно. Подавление предупреждений не вариант. Хотелось бы знать причину предупреждений, это стандартное поведение или несовершенство препроцессора? Минимальный код для проверки и экспериментов.
,а в FNK(1, "2"); -- наоборот, что не int. Вывод программы:
0
|
23.07.2020, 23:31 | |
Ответы с готовыми решениями:
3
Перегрузка функции через макрос с зависимостью от количества и типа переданных параметров еще и с вариаблик Перегрузка функции внутри generic метода Перегрузка операторов + - в Generic классе Макрос Generic не принимает строку |
Вездепух
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,076
|
|
26.07.2020, 06:43 | 3 |
Все ветви
_Generic должны быть корректными, даже если эти ветви не выбираются и не вычисляются. В вашем случае компилятор лишь сообщает вам о некорректности некоторых ветвей, пусть даже и не выбранных._Generic - это не препроцессор и не аналог if consexpr в С++. Он не "выключает" из процесса компиляции "лишние" ветви. _Generic - это чисто языковая возможность, возможность уровня ядра языка. Это что-то вроде switch/case , основанного на типах. И точно так же, как и в switch/case , все ветви должны быть корректными, независимо от того, выбираются они или нет.
0
|
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 15
|
||||||
26.07.2020, 23:52 [ТС] | 4 | |||||
Решение:
0
|
26.07.2020, 23:52 | |
26.07.2020, 23:52 | |
Помогаю со студенческими работами здесь
4
Реализацию функции через макрос Запись по ссылке или указателю в аргументы функции через макрос va_arg Спецификация generic upcast/downcast в generic типах Generic и переопределение функции Через 15 мин работы выключается процесс Generic Host Process Каст объектов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |