Closed. This question is not reproducible or was caused by typos。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

6年前关闭。



Improve this question




我知道对此有很多疑问,但是我已经检查了程序中的常见错误,而且似乎找不到任何错误。

我在文件strlist.cpp中的复制构造函数的第一行遇到这些错误:

ISO C++禁止声明不带任何类型的[Strlist] [-fpermissive]
没有在类“StrList”中声明的“int StrList::Strlist(const StrList&)”成员函数

这是该部分:
 /* copy constructor */
 40 StrList::Strlist(const StrList& rhs)
 41 {
 42    intitList(&list);
 43    Struct Node *current = (rhs.list).head;
 44    while(current != NULL){
 45       AddFront(*(const MyString *)current->data);
 46       current = current->next;
 47    }
 48    reverse();
 49 }

这是我的头文件中的副本构造函数:
  5 #ifndef __STRLIST_H__
  6 #define __STRLIST_H__
 11
 12 #include "mystring.h"
 13 #include "stdio.h"
 14 #include "stdlib.h"

 20
 21 extern "C" {
 22 #include "mylist.h"
 23 }
 24
 25 class StrList {
 26
 27     public:
(......................)
 40
 41         /*copy constructor */
 42         StrList(const StrList& rhs);
(..................)
105 };
106
107 #endif

我将strlist.h包含在strlist.cpp中,所以我无法弄清楚这有什么问题。

谢谢!!

最佳答案


StrList::Strlist(const StrList& rhs)
//          ^

阅读错误消息时,您应该格外小心,编译器正试图为您提供帮助!

10-06 10:16