Здравствуйте.
Не получается передать строку в качестве параметра шаблона функции.
template<int a>
void print(){
printf("%d\n",a);
}
template<const char *a>
void print_str(){
printf("%s\n",a);
}
int main(int argc,char **argv){
print<15>();
print_str<"lala">();//shit
return 0;
}
Функция print работает, а print_str не компилируется:
error: ‘"lala"’ is not a valid template argument for type ‘const char*’ because string literals can never be used in this context
Пробовал использовать QString вместо const char*, но и это не помогло.
Ответ на:
комментарий
от guest-3484-2009
Ответ на:
комментарий
от guest-3484-2009
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от lester
Ответ на:
комментарий
от staseg
Ответ на:
комментарий
от staseg
Ответ на:
комментарий
от staseg
Ответ на:
комментарий
от acefsm
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Шаблоны, почему не работает? (2017)
- Форум C++ и шаблонный конструктор (2013)
- Форум [cpp]i++ + ++i (2010)
- Форум Warnings при использовании basename () (2004)
- Форум [C++ такой C++]Шаблонные методы и разделение на .h/.cpp (2010)
- Форум [emacs][cedet] Автодополнение (2010)
- Форум Использование глобальных const char* (2015)
- Форум Стандарт С++ гарантирует, что приведенный ниже код рабочий? (2011)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум Задачка с массивом строк на Си (2008)