【发布时间】:2015-11-26 05:43:26
【问题描述】:
我正在尝试通过引用传递来获取文件指针。
我有一个 fileInterface 用于模拟单元测试的代码。
实际实现的函数定义:
void openfile(FILE &fileFP)
{
FILE *openedfileFP=setmntent(m_filename, m_mode);
fileFP= openedfileFP;
}
UT 的函数定义:
FILE *m_fileFP;
void setfileFP(FILE * fileFP1)
{
m_fileFP=fileFP1;
}
void openfile(FILE &fileFP)
{
fileFP= *m_fileFP;
}
函数调用:
FILE *getFd = NULL;
TestFd=fopen(path,mode);
fileInterface->setfileFP(TestFd);
fileInterface->openfilegetFd(getFd);
编译时出现以下错误:
no match for ‘operator=’ (operand types are ‘FILE {aka _IO_FILE}’ and ‘FILE* {aka _IO_FILE*}’)
fileFP= openedfileFP;
谁能告诉我我做错了什么?
【问题讨论】: