Форум программистов, компьютерный форум CyberForum.ru

Выбор кода при компиляции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать строку состоящую из символов http://www.cyberforum.ru/cpp-beginners/thread1215837.html
Здравствуйте , помогите пожалуйста ввести с клавиатуры текст. Сформировать строку состоящую из символов порядковый номер которых в строке кратен 5 или 7. Исходный текст и результаты вывести в текстовый файл.
C++ Разделить числа на три подмножества используя класс Не работает класс Необходимо напечатать сперва все числа из отрезка A, B, потом все числа, меньшие A, потом все числа большие B.Использовать очереди и класс. В первой строке содержится 3 числа . Во второй строке содержится N положительных чисел. вход 5 488 894 921 16 973 752 344 выход 752 16 344 921 973 http://www.cyberforum.ru/cpp-beginners/thread1215836.html
C++ Переписать файл целых чисел так, чтобы сначала шли положительные, а потом - отрицательные
Дан файл целых чисел F. Используя вспомогательный файл H переписать компоненты файла F файл G так, чтобы сначала были записаны все положительные числа а потом все отрицательные???????очень нужна помощь
C++ Создать класс "устройство ввода" и унаследовать от него три разных класса
Помогите создать иерархию типов: -Клавишное устройство ввода, имеющие количество клавиш(целое) и название клавиш(строки); -Роликовое устройство ввода, имеющие направление движения ролика(строка) и возможность нажатия(логическое); -Манипулятор типа мышь, имеющий дополнительно стоимость(целое). Классы должны конструкторы, включая конструктор копирования, перезагруженную функцию ввода из потока.
C++ Двумерный массив, сравнение, поиск максимального, замена http://www.cyberforum.ru/cpp-beginners/thread1215825.html
Имеется двумерный массив 6х6. Если все элементы второго столбца равны 1, то заменить максимальный элемент таблицы на 100.
C++ Арифметические выражения в массиве Ну пожалуйста подскажите, нужен код на с++, а знаю только как на паскале, может это вам что-о подскажет Задан массив Х (2n), каждый элемент которого вычисляется а формула. Y (n), каждый элемент которого вычисляется по формуле Y (i) = X (i) + X (i + n), где и изменяется от 1 до n. program asdf; uses crt; const nmax=10; var a,b:array of integer; i,j,n:integer; begin подробнее

Показать сообщение отдельно
Variag
1 / 1 / 0
Регистрация: 21.10.2011
Сообщений: 24
Записей в блоге: 1
25.06.2014, 17:02  [ТС]     Выбор кода при компиляции
Да, наверное, я не совсем точно и не совсем полно указал исходные данные...
Уточню: предложенный Вами метод не будет работать. Связано это с тем, что компилятору же надо оттранслировать обе ветки if-else, а типы T, для которых вся эта бодяга и мутится, фактически делятся на два типа. Допустим, для простоты, что делается это по указанному Вами признаку std::is_integral<T>, хотя это, конечно, не так. Но проблема в том, что для одних типов функция OtherFunction() принимает один аргумент, а для других - два. Текст этих функций будет примерно такой:
C++
1
2
3
4
5
6
7
8
9
template < typename T > void OtherFunction(T t)
{
t.SomeMethod();
}
 
template < typename T > void OtherFunction(T t, int x)
{
t.SomeMethod(x);
}
В принципе, эти две функции OtherFunction(), можно, наверное, вообще опустить, как лишнее промежуточное звено...
Соответственно, здесь будет ошибка компиляции по причинам не соответствия количества аргументов для методов, потому как для одних типов SomeMethod() принимает int в качестве значения, а для других нет. Может так понятнее будет?
Вы меня извините, это мой первый опыт шаблонного программирования, и я пока плоховато мыслю в категориях шаблонов))
 
Текущее время: 16:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru