使用 getline 和层次结构时"invalid use of ‘struct main()"



我知道我可能忽略了一些非常简单的东西,但我快要在这里发疯了。

到目前为止,在层次结构之前,我对 getline 没有问题。

当我有

struct top_level
{
    struct employee_name
    {
        string employee_title;
        string first_name;
        string last_name;
    };
    struct employee_address
    {
        string num_street;
        string city_state;
        string zip_code;
    };
    struct employee_phone
    {
        string home_phone;
        string cell_phone;
        string work_phone;
    };
};
struct top_level employee_1;
getline (inFile, employee_1.employee_name.employee_title);

(正在读取的值是字符串)

文件流工作正常,但是编译时遇到的错误是

"错误:无效使用'struct main()::top_level::employee_phone'"

对于每条getline;它似乎在结构的中间层有问题。

我没有要求任何人给我写任何代码,我只是被这个错误难倒了。

如果有人有任何想法,我将不胜感激。

您的类top_level为空,即它没有数据成员。它只有几种成员类型

您的结构top_level声明子结构,但没有成员。你需要写

struct top_level
{
    struct employee_name
    {
        string employee_title;
        string first_name;
        string last_name;
    } employee_name;
    struct employee_address
    {
        string num_street;
        string city_state;
        string zip_code;
    } employee_address;
    struct employee_phone
    {
        string home_phone;
        string cell_phone;
        string work_phone;
    } employee_phone;
};

您的top_level结构不包含数据成员。它仅包含类型定义。

相关内容

  • 没有找到相关文章

最新更新