gpt4 book ai didi

C++ 错误 Expected primary expression before "' "token (using getline on an ifstream?)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:20:18 25 4
gpt4 key购买 nike

无论我在我的代码中使用 getline 函数的什么地方,我都会收到很多类似“错误:','标记之前的主表达式”的错误。我查看了人们在 ifstreams 上使用 getline 的一些示例,我想也许我必须在调用该函数之前放置“std::”(尽管我不确定那会做什么?),但这也不起作用。

这是我的代码的第一部分;我假设我犯的任何错误在整个过程中都是一样的。

#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

struct ListNode{
string user;
string salt;
string encrypted;
string password;
ListNode* next;
};


int main(){

/* Initializes singly linked list to hold user data */
ListNode *root;
ListNode *conductor;
root = new ListNode;
conductor = root;

string temp;

//creates and opens filestream to password file
ifstream psswdFile ("example.txt");

if(psswdFile.is_open()){
//we assume there is at least one line, and initialize the head of
//the list
std::getline(psswdFile&, (conductor->user)&, ':');
std::getline(psswdFile&, (conductor->salt)&, ':');
std::getline(psswdFile&, (conductor->encrypted)&);

最佳答案

看来您误解了将参数引用传递给 C++ 函数的方式。与通常需要您使用 & 运算符获取地址的指针不同,采用引用的函数不需要您做任何事情:只需传递一个可赋值的表达式:

std::getline(psswdFile, conductor->user, ':');

编译器有你的函数的前向声明,所以它知道传递你通过引用传递的任何东西。

关于C++ 错误 Expected primary expression before "' "token (using getline on an ifstream?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27327022/

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