Expected Primary-Expression Before "Double"

如果你定义了个模板函数例如:

template void write(fstream & f, T &a) { … }

那么在调用时写 write(f,a);

就有可能出现expected primary-expression before
"double"的错误。这是因为有可能有的头文件中有write这个函数,并且它不是模板函数,那么就会导致expected primary-
expression before错误。只要上面改动一下函数名就可以解决。