在C+中作为参数传递字符串+; 我试图用C++制作一个图书馆系统,在这里我要求用户输入图书名、作者和年份,并将其存储在一个链表中。到目前为止,我已经在头文件中完成了以下操作(似乎没有错误)

在C+中作为参数传递字符串+; 我试图用C++制作一个图书馆系统,在这里我要求用户输入图书名、作者和年份,并将其存储在一个链表中。到目前为止,我已经在头文件中完成了以下操作(似乎没有错误),c++,data-structures,C++,Data Structures,然而,对于这一点,它给出了错误 LinkedList::addInfo(,int)”(在 我做错了什么?要在标题中使用string作为参数类型,您需要做两件事: 标题必须有#include 将string替换为std::string,或使用命名空间std添加(不推荐) #包括 类链接列表{ ... void addInfo(std::string,std::string,int); }; 要使用字符串作为标题中的参数类型,您需要做两件事: 标题必须有#include 将string替换为

然而,对于这一点,它给出了错误

LinkedList::addInfo(,int)
”(在


我做错了什么?

要在标题中使用
string
作为参数类型,您需要做两件事:

  • 标题必须有
    #include
  • string
    替换为
    std::string
    ,或使用命名空间std添加
    (不推荐)

#包括
类链接列表{
...
void addInfo(std::string,std::string,int);
};

要使用
字符串
作为标题中的参数类型,您需要做两件事:

  • 标题必须有
    #include
  • string
    替换为
    std::string
    ,或使用命名空间std添加
    (不推荐)

#包括
类链接列表{
...
void addInfo(std::string,std::string,int);
};

1.您是否
#包括
?2.您是否
使用命名空间std;
?最好将它们作为常量引用传递,即
addInfo(常量字符串和数据1,常量字符串和数据2,int数据3)
在复制上保存使用std的
是一个错误。您可以添加完整的错误消息吗?您自己是否包含了标题?这不太好。1.您是否
#包含了
?2.您是否
使用了命名空间std;
?最好将它们作为常量引用传递,即
addInfo(const-string&data1,const-string&data2,int-data3)
在复制中保存
使用std
是一个。您是否添加完整的错误消息?您是否自行包含标题?这不太好。我两个都做了。为什么不建议使用命名空间std?或者添加
使用std::string;
(不如
使用名称空间std
那么糟糕,但仍然…@MuneebRehman使用名称空间将整个名称空间的内容“转储”到全局范围。这可能与您自己的程序中的名称冲突,现在或将来。我都使用了。为什么不建议使用名称空间std?或者添加
使用std::string;
(不如
使用名称空间std
那么糟糕,但仍然…@MuneebRehman使用名称空间将整个名称空间的内容“转储”到全局范围。这可能与您自己的程序中的名称冲突,无论是现在还是将来。
#include <iostream>
#include <string>
#include "LinkedList.h"
using namespace std;

class LinkedList {

private:

struct BookNode {
    string Book_Title;
    string Author_Name;
    int Year_of_Publishing ;
    BookNode* next;
};
public:

LinkedList();
void addInfo(string,string, int);
void print();
};
void LinkedList::addInfo(string data1,string data2, int data3)
{
BookNode* n = new BookNode;
n->Book_Title = data1;
n->Author_Name = data2;
n->Year_of_Publishing = data3;
n->next = NULL;
curr = head;
#include <string>

class LinkedList {
...
    void addInfo(std::string, std::string, int);
};