【发布时间】:2013-12-03 10:58:58
【问题描述】:
User.h
#pragma once
#include <iostream>
#include <string>
#include <fstream>
#include <list>
class User
{
private:
char line1[50];
char line2[50];
char line3[50];
char line4[50];
public:
void getUser(std::string);
};
用户.cpp
#include "User.h"
void getUser(std::string username)
{
std::ifstream fin(username + ".txt");
fin.getline(line1, 50);
fin.getline(line2, 50);
fin.getline(line3, 50);
fin.getline(line4, 50);
fin.close();
std::list<std::string> UserInfo;
UserInfo.push_back(line1);
UserInfo.push_back(line2);
UserInfo.push_back(line3);
UserInfo.push_back(line4);
return UserInfo;
}
main.cpp
#include "User.h"
std::string username;
User display;
std::cout << std::endl << "Please enter your username: ";
std::getline (std::cin, username);
display.getUser(username);
我想在 main 中访问列表 UserInfo - 我假设它必须被返回,但是,我不知道返回类型是什么? (在我知道返回类型之前,void 只是暂时的)。
我遇到的另一个问题是在访问User.cpp、line1、line2 等中的 char 变量时,出现错误:
标识符“line1”未定义。
【问题讨论】:
标签: c++ class scope return-type