gpt4 book ai didi

c++ - 在 C++ 中将列表作为返回类型传递?

转载 作者:行者123 更新时间:2023-11-28 03:04:20 25 4
gpt4 key购买 nike

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.cppline1line2 等中的 char 变量时,出现错误:

Identifier "line1" is undefined.

最佳答案

与您的列表相同:

std::list<std::string> getUser(std::string username)
{

return UserInfo ;
}

或者将其作为引用传递:

void getUser(std::string username, std::list<std::string>& UserInfo)
{


}

Char 数组 line1 等是私有(private)成员,只能在类的成员函数内部或通过 friend 函数访问。

在类外定义了你的getUser

void User::getUser(std::string username)
{

}

关于c++ - 在 C++ 中将列表作为返回类型传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20079202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com