【发布时间】:2009-06-01 23:15:43
【问题描述】:
我需要能够将类型名作为参数传递:
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 时都创建一个要使用的类型的变量,而且我真的不想仅仅因为一个函数而重新设计整个程序,所以无论如何都要使用类型名作为参数?
【问题讨论】:
标签: c++ file-io typename function-parameter