为什么编译器看不到这个函数头?

时间:2010-12-06 00:20:06

标签: c++ compiler-errors

我的函数标题是:

void FileIO::write(LinkedList<Librarian>& librarians, int numlibrarians,
                   LinkedList<Patron>& patrons, int numpatrons,
                   LinkedList<LinkedList<Item> >[] items, int numitems,
                   int currid)

我的.h中的标题是:

void write(LinkedList<Librarian>&, int, LinkedList<Patron>&, int,
           LinkedList<LinkedList<Item> >[], int, int);

然而,当我尝试编译我的程序时,我收到了这个错误:

FileIO.cpp:923: error: prototype for ‘void FileIO::write(
LinkedList<Librarian>&, int, LinkedList<Patron>&, int,
LinkedList<LinkedList<Item> >*)’ does not match any in class ‘FileIO’

为什么会这样?似乎我放置> >[]的每个标题都无法识别。还有其他办法吗?

3 个答案:

答案 0 :(得分:2)

尝试更改

LinkedList<LinkedList<Item> >[] items

LinkedList<LinkedList<Item> > items[]

答案 1 :(得分:2)

这是C ++,所以LinkedList<LinkedList<Item> >[] items没有意义,因为这是一个Java构造。事实上,解析器早期以某种方式轰炸,认为[]是一些确实很奇怪的标记。替换为LinkedList<LinkedList<Item> > items[],你应该很好。

答案 2 :(得分:0)

看来第923行的write()函数缺少两个整数参数,使它与声明相对应。

相关问题