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

Шаблоны и Макросы С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отображение CString при отладке http://www.cyberforum.ru/cpp-beginners/thread1305550.html
всем доброго времени суток, уже какой день бьюсь над проблемой и никак не могу найти решение CString B("Привет"); если поставить точку останова после этой строки и посмотреть чему равен В увидим: B L"Привет" АTL::CStringT... ATL::CSimpleStringT<wchar_t,0> L"Привет" ATL::CSimpleStringT<wchar_t,0> m_pszData 0x007dd2b8...
C++ Построение графика в Corel Draw через C++ Здравствуйте. Дали задание с построением графика в Corel Draw через с++. Я таким способом графики никогда не строил, и мне поэтому просто дали строки кода для его построения. Программа выполняется, но CD не может открыть файлы такого формата. Подскажите как сделать график для CD или возможно каким-нибудь другим способом. Полностью текст программы выкладывать не буду, т.к. она рабочая, а выложу... http://www.cyberforum.ru/cpp-beginners/thread1305546.html
Заданы числа x и y. Если их сумма положительная, вывести на экран эти числа, иначе вывести их разницу C++
Помогите пожалуйста...Заданные числа x и y . Если их сумма положительная , вывести на экран эти числа , иначе вывести на экран их разницу.
C++ Количество треугольников, лежащих в каждой координатной четверти
Пусть n треугольников заданы координатами своих вершин. Посчитайте количество треугольников, лежащих в каждой координатной четверти и не пересекающих оси координат. (Использывать функцию для определения координатной четверти, в которой лежит треугольник). (P.S: На экран выводится 4-и четверти, в каждой написано количество треугольников, лежащих в каждой координатной четверти и не...
C++ Вставка элементов в массив, дописать http://www.cyberforum.ru/cpp-beginners/thread1305520.html
Дано натуральне парне число n (n >100) і послідовність цілих чисел a1, a2, …, a(n/2) Отримати нову послідовність,вставивши в первинну після кожного парного числа його квадрат. Для доступу до елементів масиву скористатися вказівниками. #include <iostream> #include <math.h> #include <cstdlib> #include <ctime> using namespace std; int main() { int n,d;
C++ Предложения, состоящие из заданного количества слов, упорядоченных по алфавиту 5. *выводит предложения, состоящие из заданного количества слов, упорядоченных по алфавиту; Кто может объяснить,что мне вообще нужно делать подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2787 / 1433 / 393
Регистрация: 18.10.2014
Сообщений: 2,639
20.11.2014, 07:16     Шаблоны и Макросы С++
Цитата Сообщение от Fox_Yo Посмотреть сообщение
Выбивает ошибку
Если вы хотите иметь возможность вызывать ваш шаблон с разными типами аргументов, то надо предоставить шаблону эту свободу

C++
1
2
3
4
5
template <typename T, typename U>
<какой-то тип> KvadSum(T a, U b)
{
  return Kvad(a) + Kvad(b);
}
Но тут сразу возникает вопрос - как правильно указать тип возврата. В С++11 это несложно

C++
1
2
3
4
5
template <typename T, typename U>
auto KvadSum(T a, U b) -> decltype(a + b)
{
  return Kvad(a) + Kvad(b);
}
или

C++
1
2
3
4
5
template <typename T, typename U>
decltype(T(0) + U(0)) KvadSum(T a, U b)
{
  return Kvad(a) + Kvad(b);
}
или

C++
1
2
3
4
5
template <typename T, typename U>
typename std::common_type<T, U>::type KvadSum(T a, U b)
{
  return Kvad(a) + Kvad(b);
}
а вот без С++11 все будет несколько сложнее, но тоже решаемо (придется вручную реализовать аналог 'std::common_type').
 
Текущее время: 16:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru