【发布时间】:2019-05-10 02:09:50
【问题描述】:
每次我用这段代码写loadChar(charVariable,positonOfCharacter):
bool LoadEntity::loadChar(char * outputChar,int position)
{
ifstream file(nameOfFile.c_str());
if(!(file.good()))
return false;
file.seekg(position);
if(file.get())
{
* outputChar = file.get();
return true;
}
else
return false;
}`
我收到此错误:invalid conversion from 'char' to 'char*
如果函数正确运行,代码应该返回 bool 并将 char outputChar 的值更改为 int 位置的文件中的字符。是什么导致了这个问题?
【问题讨论】:
-
你需要传递一个指针,而不是一个字符的值。错误是不言自明的。
-
请get a couple of good books,了解references。
-
请注意,您调用了两次
file.get(),因此您读取了两个不同的值。 -
更改为
bool LoadEntity::loadChar(char& outputChar,int position)并将outputChar视为普通变量(即无需取消引用)。 -
loadChar(&charVariable, positonOfCharacter)
标签: c++ pointers char type-conversion