私自身のライブラリを作りたいと思いますし、テンプレート関数にいくつか問題があります。候補テンプレートが無視されました: 'const type-parameter-0-0 *'と 'char'は一致しません
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 –