C++ 声明类对象数组时崩溃
我想为我的实用程序声明一个类对象数组。我试图声明如下,但得到一个例外。无法理解我做错了什么。这里是代码部分C++ 声明类对象数组时崩溃,c++,arrays,C++,Arrays,我想为我的实用程序声明一个类对象数组。我试图声明如下,但得到一个例外。无法理解我做错了什么。这里是代码部分 #include<iostream> #include<conio.h> using namespace std; struct charFreqPair{ public: charFreqPair(); charFreqPair(char,int); ~charFreqPair(){} char ch;
#include<iostream>
#include<conio.h>
using namespace std;
struct charFreqPair{
public: charFreqPair();
charFreqPair(char,int);
~charFreqPair(){}
char ch;
int freq;
};
charFreqPair::charFreqPair(){
}
charFreqPair::charFreqPair(char c , int f){
ch = c;
freq = f;
}
int main(int argc , char **argv){
char *string;
cout<<"Enter String"<<endl;
cin>>string;
charFreqPair array[128] ;
getch();
}
#包括
#包括
使用名称空间std;
结构字符对{
public:charFreqPair();
charFreqPair(char,int);
~charFreqPair(){}
char ch;
国际频率;
};
charFreqPair::charFreqPair(){
}
charFreqPair::charFreqPair(char c,int f){
ch=c;
频率=f;
}
int main(int argc,字符**argv){
字符*字符串;
cout你不能只写一个不指向任何地方的指针。难怪你会遇到异常,你是在随机内存中写的。
在使用字符串之前,请先分配它。您不能只对不指向任何位置的指针进行写入。难怪您会遇到异常,因为您是在随机内存中写入的。
在使用字符串之前,请先分配它。您不能只对不指向任何位置的指针进行写入。难怪您会遇到异常,因为您是在随机内存中写入的。
在使用字符串之前,请先分配它。您不能只对不指向任何位置的指针进行写入。难怪您会遇到异常,因为您是在随机内存中写入的。
在使用字符串之前先分配它。错误不是由数组引起的,而是因为您正在使用cin
将输入保存到未初始化的指针中:
char *string;
cin>>string;
char*string
未初始化,因此取消引用它会导致异常。请使用std::string
:
std::string;
cin >> string;
该错误不是由数组引起的,而是因为您正在使用cin
将输入保存到未初始化的指针中:
char *string;
cin>>string;
char*string
未初始化,因此取消引用它会导致异常。请使用std::string
:
std::string;
cin >> string;
该错误不是由数组引起的,而是因为您正在使用cin
将输入保存到未初始化的指针中:
char *string;
cin>>string;
char*string
未初始化,因此取消引用它会导致异常。请使用std::string
:
std::string;
cin >> string;
该错误不是由数组引起的,而是因为您正在使用cin
将输入保存到未初始化的指针中:
char *string;
cin>>string;
char*string
未初始化,因此取消引用它会导致异常。请使用std::string
:
std::string;
cin >> string;
您是对的,但问题是如果您注释掉charFreqPair数组[128];并放置一个coutBecause字符串,因为该字符串未初始化,所以它指向一个垃圾值,该值可以是任何值,因此结果是意外行为,在这种情况下,您无法假设任何内容。您是对的,但问题是如果您注释掉charFreqPair数组[128];并放置一个coutBecause字符串,因为该字符串未初始化,所以它指向一个垃圾值,该值可以是任何值,因此结果是意外行为,在这种情况下,您无法假设任何内容。您是对的,但问题是如果您注释掉charFreqPair数组[128];并放置一个coutBecause字符串,因为该字符串未初始化,所以它指向一个垃圾值,该值可以是任何值,因此结果是意外行为,在这种情况下,您无法假设任何内容。您是对的,但问题是如果您注释掉charFreqPair数组[128];并放置一个coutBecause字符串,因为该字符串未初始化,所以它指向一个垃圾值,该值可以是任何值,因此结果是意外行为,在这种情况下,您不能假设任何东西。