首页 > 解决方案 > 我只能初始化结构数组中的第一个结构变量。(数组长度为 2)

问题描述

new用来创建一个结构数组,但我只能初始化第一个结构变量。

当我为第二个结构变量赋值时,cin >> tbType[i].variableName没有执行类似的语句。这是我的代码:

typedef struct tbStruct
{
    string variableName;
    string TypeName;
    int len;
    int precise;
    bool IsNotNull;
    bool IsKey;
    tbStruct() : variableName(""), TypeName(""), len(0), precise(0), IsNotNull(false), IsKey(false) {}
} * structPro;

int main()
{
    structPro tbType;
    tbType = new struct tbStruct[2];
    for (int i = 0; i < 2; i++)
    {
        cin >> tbType[i].variableName;
        cin >> tbType[i].TypeName;
        cin >> tbType[i].len;
        cin >> tbType[i].precise;
        cin >> tbType[i].IsNotNull;
        cin >> tbType[i].IsKey;
    }
    delete[] tbType;
}

标签: c++

解决方案


推荐阅读