我需要能够将类型名称作为参数传递:
int X = FileRead(file, 9, char);
这个概念是在FileRead(std::fstream, int pos, ???)中,读取pos*sizeof(某种类型),以获取所需的位置。我尝试使用模板:
template<typename T>
T FileRead(std::fstream file, int pos, T type)
{
T data;
file.read(reinterpret_cast<char*>(&data), sizeof(data));
return data;
}
但是这要求我每次想使用FileRead函数时都要创建一个相应类型的变量,而我真的不想因为一个函数而重新设计整个程序,所以有没有办法将typename作为参数来使用呢?