我無法弄清楚我搞砸了什麼。我認爲我有一些價值觀混亂,我試圖解決這個問題。我覺得這是一個簡單的數組與我的代碼,但我想排序這個文件,我得到這個錯誤。按字母順序排列結構數組
1>ClCompile:
1> Main.cpp
1>Main.obj : error LNK2019: unresolved external symbol "void __cdecl sort(struct salesTran * const,int)" ([email protected]@[email protected]@[email protected]) referenced in function _main
1>C:\Users\BranN3W\Documents\Visual Studio 2010\Projects\3-1Notes\Debug\3-1Notes.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.96
==========生成:0成功,1失敗,0上最新,0已跳過==========
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct salesTran {
string name;
double quantity,price;
};
void swap(salesTran A[], int i, int j);
void sort(salesTran A[], int size);
ostream& operator << (ostream& os, salesTran A)
{os << A.name << "\t" << A.quantity << "\t" << A.price;
return os;}
istream& operator >> (istream& is, salesTran& A)
{is >> A.name >> A.quantity >> A.price;
return is;}
int main()
{
salesTran data[250];
ifstream fin;
fin.open("sales.txt");
ofstream fout;
fout.open("results.txt");
int index = 0;
fin >> data[index];
while(!fin.eof())
{
index++;
fin >> data[index];
}
sort(data, index);
for(int j=0; j < index; j++)
{
cout << data[j] << endl;
}
return 0;
}
void swap(int data[], int i, int j)
{
int temp;
temp = data[i];
data[i] = data[j];
data[j] = temp;
return;
}
void sort(int data[], int size)
{
for(int p=1; p<size; p++)
{
for(int c=0; c<size-p; c++)
{
if(data[c]>data[c+1]) swap(data,c,c+1);
}
}
return;
}
任何人都可以在這裏指出正確的方向嗎?我真的可以使用幫助。我想弄明白這一點,並殺死我。我用Google搜索了所有的書,但是我無法運行。 – user2133925 2013-03-05 01:33:04
也許**定義**'void sort(salesTran A [],int size);'而不僅僅是*將它聲明爲原型會有所幫助。你在列表底部的sort()例程是'void sort(int data [],int size)'。看看參數列表。 – WhozCraig 2013-03-05 01:33:08
可能重複[什麼是未定義的引用/未解析的外部符號錯誤,以及如何解決它?:聲明和未定義的變量或函數。](http://stackoverflow.com/a/12574403/902497) – 2013-03-05 01:41:23