С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
#1

? : вместо if - C++

20.06.2013, 23:43. Просмотров 399. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
bool compare(const char* s1,const char* s2, int (*fp) (const char*, const char*) )
{
    ( !(*fp)(s1,s2) ) ? return true : return false;
 
}
пишет 2 ошибки:
1) на return true - требуется выражение
2) на ; - требуется двоеточие

А если оформить в виде

C++
1
2
3
if(!(*fp)(s1,s2))
        return true;
    else return false;
- тогда все ок.

в чем беда-то? просто интересно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 23:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ? : вместо if (C++):

Модифицируйте, пожалуйста, программу так, чтобы вместо 0 выводилось “false”, а вместо 1 – ”true” - C++
#include "stdafx.h" #include <iostream> using namespace std; int main() { bool y, x; bool sq={ {0,0}, {0,1}, ...

Задан массив целых чисел. Записать +1 вместо максимального элемента массива и -1 вместо минимального - C++
Не понимаю, что не так, помогите исправить код. #include<conio.h> #include<iostream> #include<stdlib.h> using namespace std; ...

Задан массив целых чисел. Записать +1 вместо максимального элемента массива и -1 вместо минимального - C++
Попробовал написать, но что-то не получилось. Помогите исправить. int main() { int i, min, max; int array; for(i=0; i<10;...

Fstream пишет 13 вместо 10 - C++
столкнулся с весьма необычной проблемой. открываю файл для записи if (!Open(filename, 1))return false; bool FILE::Open(str filename,...

Массивы вместо структур - C++
Исправьте пожалуйста программу вместо структур должны использоваться массивы, буду очень благодарен #include "stdafx.h" #include...

Вместо кода абракадабра - C++
Делал программу на одном компьютере,запустил на другом.В итоге вместо кода увидел(часть кода,форм. cpp):...

5
Quantity
12 / 12 / 1
Регистрация: 06.06.2012
Сообщений: 136
20.06.2013, 23:44 #2
Надо не
C++
1
( !(*fp)(s1,s2) ) ? return true : return false;
А
C++
1
return ( !(*fp)(s1,s2) ) ? true : false;
1
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
20.06.2013, 23:57  [ТС] #3
О.к., спасибо!
все же не пойму почему ошибка.

Эту конструкцию не обязательно же писать в return.

Или это связано с типом возвращаемого значения в данном случае?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,633
21.06.2013, 00:04 #4
C++
1
2
3
4
bool compare(const char* s1,const char* s2, int (*fp) (const char*, const char*) )
{
    return !(*fp)(s1,s2);
}
и не смешите никого тернарным оператором в return в булевой функции
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6513 / 3150 / 309
Регистрация: 04.12.2011
Сообщений: 8,722
Записей в блоге: 5
21.06.2013, 00:16 #5
Цитата Сообщение от razor_ua Посмотреть сообщение
Или это связано с типом возвращаемого значения в данном случае?
Это связано с синтаксисом. Тренарный оператор:
(выражение)? выражение : выражение ;
точка с запятой в конце, - окончание тренарного оператора.
Внутри никаких операторов не ожидается.
1
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
21.06.2013, 00:30  [ТС] #6
спасибо всем, растолковали!
0
21.06.2013, 00:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 00:30
Привет! Вот еще темы с ответами:

вместо закрытия зависает - C++
#include <iostream> #include <fstream> #include <stdlib.h> using namespace std; bool petla = true; int main(); int w = 0;...

Использование рекурсии вместо цикла - C++
Помогите, пожалуйста! Нужно вместо циклов использовать рекурсию, как это сделать? #include <iostream> using namespace std; int...

Реализовать класс вместо структуры - C++
Здравстуйте буду благодарен если кто-то поможет. Вот само задание: создать программу по индивидуальному варианту, которая: 1.1....

Почему вместо 2 выводится белеберда? - C++
// mamalclass.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.