今天本来想给快读快写模板加上template,让它能用于任何整数类型,但是编译错误。
代码如下:
#include<bits/stdc++.h>
using namespace std;
template<typename T>
inline T read(){
T f=1,k=0;
char c=getchar();
while(!isdigit(c)){
if(c=='-') f=-1;
c=getchar();
}
while(isdigit(c)){
k=k*10+c-'0';
c=getchar();
}
return f*k;
}
template<typename T>
void write(T d){
if(d<0){
d=-d;
putchar('-');
}
if(d>9) write(d/10);
putchar(d%10+'0');
}
int main(){
long long a=read();
write(a);
return 0;
}
报错信息:

请教各位大佬,这是由什么导致的,如何解决?