我正在制作一个简单的程序,使用冒泡排序对一副纸牌进行排序,然后显示它。我收到一个奇怪的运行时错误。有人可以向我解释这个错误并提供如何修复它的建议吗?
错误:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocale(341):警告 C4530:使用了 C++ 异常处理程序,但未启用展开语义。指定/EHsc
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE xception(359): 警告 C4577: 在未指定异常处理模式的情况下使用“noexcept”;不保证异常终止。指定/EHsc
C:\SortedCards.cpp:致命错误 C1083:无法打开编译器生成的文件:“C:\SortedCards.obj”:权限被拒绝
我的代码:
#include <iostream>
#include <vector>
using namespace std;
class SortedCards
{
private:
vector<double> v;
int nElems;
void swap(int one, int two) {
double temp = v[one];
v[one] = v[two];
v[two] = temp;
}
public:
SortedCards(int max) : nElems(0)
{
v.resize(max);
}
void insert(double value)
{
v[nElems] = value;
nElems++;
}
void display() {
for (int i = 0; i < nElems; i++) {
if (v[i] == 11) {
cout << "A ";
}
else if (v[i] == 12) {
cout << "J ";
}
else if (v[i] == 13) {
cout << "Q";
}
else if (v[i] == 14) {
cout << "K";
}
else {
cout << v[i] << " ";
}
}
cout << endl;
}
void bubbleSort()
{
int out, in;
for (out = nElems - 1; out > 1; out--) {
for (in = 0; in < out; in++) {
if (v[in] > v[in + 1]) {
swap(in, in + 1);
}
}
}
}
};
int main() {
int maxSize = 100;
SortedCards arr(maxSize);
arr.insert(1);
arr.insert(2);
arr.insert(3);
arr.insert(4);
arr.insert(5);
arr.insert(6);
arr.insert(7);
arr.insert(8);
arr.insert(9);
arr.insert(10);
arr.insert(11);
arr.insert(12);
arr.insert(13);
arr.insert(14);
arr.insert(1);
arr.insert(2);
arr.insert(3);
arr.insert(4);
arr.insert(5);
arr.insert(6);
arr.insert(7);
arr.insert(8);
arr.insert(9);
arr.insert(10);
arr.insert(11);
arr.insert(12);
arr.insert(13);
arr.insert(14);
arr.display();
arr.bubbleSort();
arr.display();
return 0;
}