未定义的引用
Undefined reference?
我收到一个未定义的引用错误。我已经盯着这段代码大约一个小时试图弄清楚。这是我得到的错误。
对fileToArray(std::basic_fstream<char, std::char_traits<char> >&, int*, int)
的未定义引用
这是我的代码。
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
#include <cstring>
using namespace std;
void arrayToFile(fstream&, int*, int);
void fileToArray(fstream&, int*, int);
int main()
{
fstream dataFile;
int numInt; //Size of array
int* numArray; //Array to hold integers
int num; //Integer for user to input into array.
cout << "Enter the number of integers you would like to put inside of an array: ";
cin >> numInt;
numArray = new int[numInt];
cout << "nFill in the array with integers";
for (int i = 0; i < numInt; i++)
{
cout << "Enter integer for position " << i << ": ";
cin >> num;
numArray[i] = num;
}
arrayToFile(dataFile, numArray, numInt);
fileToArray(dataFile, numArray, numInt);
cout << "Contents of numArray" << endl;
for (int i = 0; i < numInt; i++)
{
cout << numArray[i] << " ";
}
delete [] numArray;
return 0;
}
//****************************
//Define arrayToFile function*
//****************************
void arrayToFile(fstream &dataFile, int* numArray, int SIZE)
{
dataFile.open("Ch12p8.dat", ios::out | ios::binary);
if(dataFile)
dataFile.write((char*)numArray, SIZE);
dataFile.close();
}//end arrayToFile function
//****************************
//Define fileToArray function*
//****************************
void fileToFile(fstream &dataFile, int* numArray, int SIZE)
{
dataFile.open("Ch12p8.dat", ios::in | ios::binary);
if(dataFile)
dataFile.read((char*)numArray, SIZE);
dataFile.close();
}//end fileToArray function
不是函数fileToArray
而是定义了函数fileToFile
。我认为这是一个错字。
//****************************
//Define fileToArray function*
//****************************
void fileToFile(fstream &dataFile, int* numArray, int SIZE)
^^^^^^^^^^
{
dataFile.open("Ch12p8.dat", ios::in | ios::binary);
if(dataFile)
dataFile.read((char*)numArray, SIZE);
dataFile.close();
}//end fileToArray function
void fileToFile
这就是原因。您声明了 fileToArray,但从未定义过它。
你在 fileToArray 的定义中有一个拼写错误
void fileToFile(fstream &dataFile, int* numArray, int SIZE)
你把它叫做filetoFile。
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中