我需要能够将类型名作为参数传递:
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 时都创建一个要使用的类型的变量,而且我真的不想仅仅因为一个函数而重新设计整个程序,所以无论如何都要使用类型名作为参数?