【发布时间】:2010-11-19 15:47:22
【问题描述】:
我不断收到以下错误:
0x5a6fca58 处未处理的异常 Gofish.exe 中的 (msvcr100d.dll): 0xC0000005:访问冲突写入 位置 0x0ff3b113。
我要运行的代码是:
#include <iostream>
#include <string>
#include<Array>
using namespace std;
class Card{
string suit;
int rank;
public:
Card(int a, string b){
rank=a;
suit=b;
}
Card(){}
string getSuit(){
return suit;
}
int getRank(){
return rank;
}
};
class Deck{
Card deck [52];
public:
Deck(){
for(int i=1; i<=13; i++){
deck [i]=Card(i, "spades");
deck [i*2]=Card(i, "hearts");
deck [i*3]=Card(i, "diamonds");
deck [i*4]=Card(i, "clubs");
}
}
void list(){
for(int i=1; i<=52; i++){
cout << deck [i].getRank() << " of " << deck [i].getSuit() << endl;
}
}
};
int main(){
Deck deck=Deck();
deck.list();
system("pause");
return 0;
}
我使用的编译器是 Microsoft Visual C++ 2010 Express,如果这可能会产生任何影响的话。
【问题讨论】:
-
显然它确实可以编译。如果没有,您将不会拥有
Gofish.exe。 -
如果您遇到访问冲突,则代码正在编译。这是一个运行时错误。
-
这不是编译器错误。编译器错误是当您单击顶部的漂亮箭头时,它无法构建您的 exe。在这里,您的代码显然正在执行自己 ^^
标签: c++ arrays visual-studio-2010 access-violation runtime-error