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字符串,因为该字符串未初始化,所以它指向一个垃圾值,该值可以是任何值,因此结果是意外行为,在这种情况下,您不能假设任何东西。