如果你定义了个模板函数例如:
template<typename T> void write(fstream & f, T &a) { .... }
那么在调用时写write<double>(f,a);
就有可能出现expected primary-expression before "double"的错误。这是因为有可能有的头文件中有write这个函数,并且它不是模板函数,那么就会导致expected primary-expression before错误。只要上面改动一下函数名就可以解决。
本文探讨了在使用模板函数时遇到的“expected primary-expression before”错误现象及其原因。通过一个具体的例子说明了如何避免此类错误,即通过更改函数名称来解决由非模板函数引发的问题。
如果你定义了个模板函数例如:
template<typename T> void write(fstream & f, T &a) { .... }
那么在调用时写write<double>(f,a);
就有可能出现expected primary-expression before "double"的错误。这是因为有可能有的头文件中有write这个函数,并且它不是模板函数,那么就会导致expected primary-expression before错误。只要上面改动一下函数名就可以解决。
15万+

被折叠的 条评论
为什么被折叠?