【发布时间】:2019-10-06 23:55:19
【问题描述】:
嘿,我想将我的 wav 文件的二进制数据加载到我的数组中,但我收到一个错误,例如:“不匹配调用 'std::basic_ifstream(Array&, size_t&)' 的函数”,我想这样做使用模板,有谁知道如何解决这个问题?
int main(){
ifstream infile("soundeffect.wav", std::ios::binary);
infile.seekg(0, infile.end);
size_t length = infile.tellg();
infile.seekg(44, infile.beg);
Array<int> array(length);
infile.read(array, length); //error in this line
return 0;
}
【问题讨论】:
-
什么是
Array?它不是一个标准的类。 -
查看
read的第一个参数是什么,然后将您的对象转换为该类型。 -
请正确发布minimal reproducible example。
Array<int>是什么?没有std::basic_ifstream(Array&, size_t&)函数,所以错误是正确的。 -
你在main之前放了吗:using namepace std;
-
您忘记了错误消息中编译器告诉您哪些调用 将 有效并解释了为什么您的调用与其中任何一个都不匹配的部分。找到你想要的,看看编译器是怎么说的。