c++ - 编译器在声明类时显示未定义的结构错误

标签 c++ compiler-errors turbo-c++

错误信息:

1980s screenshot of the problem

Link to full program

class AddressBook
{
private:   
char firstname[20];
char lastname[20];
char no[15];

class adrs
{
public:
char postal[100];
char pincode[7];
friend void say();
friend void Add();
friend void Edit();
friend void View(int);
}address;
char dob[11];
char email[50];

public:
friend void say();
void sort(AddressBook []);
void NumberSort(AddressBook []);
void Add(void);
void Delete(AddressBook [], int pos);
void Edit();
void LinearSearch(AddressBook [], char a[]);
friend void ViewAll();
void View(int);
void FetchContact();
};

这是通讯录程序的类的声明。
 void sort(AddressBook []);
 void NumberSort(AddressBook []); 
 void Delete(AddressBook [], int pos); 
 void LinearSearch(AddressBook [], char a[]);

以上声明中的这些行在TurboC++编译器中显示为错误。谁能告诉我为什么?

最佳答案

由于您无法提供最少的示例,因此我为您做到了:

class AddressBook
{
  void sort(AddressBook[]);
};

该声明可以在现代编译器上很好地编译,但不能在Turbo C++上编译。
您可以将其称为编译器错误。

有两种选择:
  • 您重新考虑程序并以另一种方式编写它
  • 您使用现代C++编译器

  • 换校将是另一个有值(value)的选择。

    关于c++ - 编译器在声明类时显示未定义的结构错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44308556/

    相关文章:

    c++ - 如何将一个类的成员函数用作另一个类的友元函数?

    c++ - clCreateBuffer() 永远不会失败

    .net - 如何在Visual Studio中自动更新ErrorList?

    c++ - 从多个文件编译得到 “undefined reference”

    c++ - NULL 指针赋值错误

    C程序在不同的编译器上给出不同的输出

    c++ - 模板类的模板友元函数

    android - 错误 :Execution failed for task ':agendacalendar:compileDebugJavaWithJavac' . > 编译失败;

    c - C 编程语言的 TC++ 中 int i=00100 错误

    c++ - 模板参数中的 enable_if 创建模板重新定义错误