我想製作我自己的庫,並且我有一些模板函數的問題。候選模板被忽略:無法與'char'匹配'const type-parameter-0-0 *'
的main.cpp
#include <iostream>
#include "SMKLibrary.h"
int main() {
char a[5] = {"ASFD"};
array_print(a,5);
return 0;
}
SMKLibrary.h
#ifndef SMKLIBRARY_H
#define SMKLIBRARY_H
#include <iostream>
template <typename T>
void array_print(const T * array[], int size);
#endif
SMKLibrary.cpp
#include "SMKLibrary.h"
template <typename T>
void array_print(const T * array[], int size) {
int last = size - 1;
for (int i = 0; i < last; i++) {
std::cout << array[i] << " ";
}
std::cout << array[last] << std::endl;
}
能向我解釋人爲什麼我有這樣的錯誤?
相關(而不是被問到的錯誤):http://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file –