我的课程中有一个静态模板函数:
file.hpp:
class File
{
public:
template<typename Type>
static Type read(const std::string & fullPath, const std::ios_base::openmode mode = std::ios_base::in);
};
template<typename Type>
Type File::read(const std::string & fullPath, std::ios_base::openmode mode)
{
std::stringstream ss;
ss << readImpl(fullPath, mode);
Type value = Type();
ss >> value;
return value;
}
file.cpp:
template<>
std::string File::read(const std::string & fullPath, std::ios_base::openmode mode)
{
return readImpl(fullPath, mode);
}
readImpl只返回一个字符串。
所以,我的问题是为什么当我运行这样的东西时,我没有调用std :: string的read方法的专门化:
const std::string content = File::read<std::string>(path);
由于
答案 0 :(得分:0)
你可以做以下事情:
file.cpp
new google.maps.LatLng(lat, lng)
但实际上最好在头文件中编写专门化。