Здравствуйте.
Не получается передать строку в качестве параметра шаблона функции.
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*, но и это не помогло.