powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / В C++11 можно делать параметры шаблонов по умолчанию в функциях?
2 сообщений из 2, страница 1 из 1
В C++11 можно делать параметры шаблонов по умолчанию в функциях?
    #38221013
В C++11 можно делать параметры шаблонов по умолчанию в функциях?
Допустим этот пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include <iostream>
#include <type_traits>

// 2. the second template argument is only valid if T is an integral type:
template < class T,
           class = typename std::enable_if<std::is_integral<T>::value>::type>
bool is_even (T i) {return !bool(i%2);}

int main() {
  short int i = 1;    // code does not compile if type of i is not integral
  std::cout << std::boolalpha;
  std::cout << "i is even: " << is_even(i) << std::endl;

  return 0;
}


1. В GCC 4.7.2 компилится нормально: http://ideone.com/j61zVT
2. А в MSVS 2012 выдает ошибку: авторОшибка 6 error C4519: аргументы шаблона по умолчанию можно использовать только в шаблоне класса
Поддержка шаблонов по умолчанию в функциях это нововведение C++11 или чистая инициатива GCC?
...
Рейтинг: 0 / 0
В C++11 можно делать параметры шаблонов по умолчанию в функциях?
    #38221019
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблонов по умолчанию в функциях,

Да. С++11.

Подробности здесь
http://stackoverflow.com/questions/2447458/default-template-arguments-for-function-templates
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / В C++11 можно делать параметры шаблонов по умолчанию в функциях?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]