我知道我可能忽略了一些非常简单的东西,但我快要在这里发疯了。
到目前为止,在层次结构之前,我对 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结构不包含数据成员。它仅包含类型定义。