在C ++中将字符串作为参数传递

时间:2016-04-09 12:06:01

标签: c++ data-structures

我正在尝试使用C ++创建一个库系统,我会要求用户输入书名,作者和年份,并将其存储在链接列表中。到目前为止,我已经在头文件中完成了以下操作(似乎没有错误)

#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();
};

和.cpp

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;

然而,为此它给出了错误

  

LinkedList::addInfo(<error-type>, <error-type>, int)&#34; (在

第27行宣布

我做错了什么?

1 个答案:

答案 0 :(得分:2)

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

  • 标题必须为#include <string>
  • string替换为std::string,或添加using namespace std(不推荐)


#include <string>

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