所以这是我的C ++ hw,现在唯一的错误就是那些:
liux1780_9B.cpp:10:1:错误:无参数列表无效使用模板名称'std :: vector' vector bubblesort(vector); ^
liux1780_9B.cpp:在函数'int main()'中:
liux1780_9B.cpp:68:8:错误:'bubblesort'之前缺少模板参数 vector bubblesort(vectoritem); ^
liux1780_9B.cpp:68:8:错误:预期';'在'bubblesort'之前
liux1780_9B.cpp:在全球范围内:
liux1780_9B.cpp:76:1:错误:无效使用template-name'std :: vector' 没有参数列表 vector bubblesort(vectoritem){ ^ 编译失败。
以下是代码:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;
vector bubblesort(vector<item>);
class item
{
private:
int numItem;
string itemName;
public:
item(int numItem, string itemName)
{
this->numItem = numItem;
this->itemName = itemName;
}
int getnumItem()
{
return numItem;
}
string getitemName()
{
return itemName;
}
bool operator<(item r)
{
return this->getnumItem() < r.getnumItem();
}
};
int main()
{
string fileName;
cin >> fileName;
ifstream fin;
fin.open(fileName.c_str());
if (fin.fail())
{
cout << "Input file opening failed.\n";
exit(1);
}
ofstream fout;
fout.open(fileName.c_str());
if (fout.fail())
{
cout << "Output file opening failed.\n";
exit(1);
}
int count;
string name;
vector<item> list;
while (fin >> name)
{
fin >> count;
list.push_back(item(count, name));
}
vector bubblesort(vector<item>);
fin.close();
fout.close();
return 0;
}
vector bubblesort(vector<item>) {
int temp;
bool finished = false;
while (!finished) {
finished = true;
for (int i = 0; i < item.size()-1; i++) {
if (item[i] > item[i+1]) {
temp = item[i];
item[i] = item[i+1];
item[i+1] = temp;
finished=false;
}
}
}
return item;
}
答案 0 :(得分:2)
首先,在将item
类用作vector
的模板参数之前,需要转发声明class item;
类。
vector
然后你需要确保返回vector<item> bubblesort(vector<item>);
也有一个类型
vector<item> bubblesort(vector<item> items)
{
\\ do stuff with items
}
同样在您的函数本身中,您需要为参数变量赋予名称并使用该变量
const
您还应该考虑将初始向量作为const
引用传递以避免复制,因为无论如何您都要返回一个新向量。或者将非 self.web = builder.get_object('boxWeb')
self.web_view = WebKit.WebView()
self.web_view.open("http://web_with_apt_links")
self.web_view.show()
self.web.add(self.web_view)
引用传递给向量并进行就地修改。