国际标准书号
int isValid(const char str[]);
int isRegistered(FILE* fp, const char str[], char area[], char publisher[], char title[]);
错误:
ISBN.h:2:18: error: FILE was not declared in this scope
ISBN.h:2:24: error: fp was not declared in this scope
ISBN.h:2:28: error: expected primary-expression before const
ISBN.h:2:46: error: expected primary-expression before char
ISBN.h:2:59: error: expected primary-expression before char
ISBN.h:2:77: error: expected primary-expression before char
ISBN.h:2:89: error: expression list treated as compound expression in initializer [-fpermissive]
不确定我是否理解错误,因为我有另一个具有相同类型参数的头文件,不会产生任何错误:
ISBN前缀.h
FILE* open(const char filename[]);
int isRegistered(FILE* fp, int area);
int minNoDigits(FILE* fp, int area);
int isRegistered(FILE* fp, int area, const char publisher[]);
int close(FILE* fp);
- 这些函数原型是我们的教授给我们的。
isRegistered
被定义了3次,但参数数量不同,所以当你使用main
带有X个参数的函数时,它会只使用带有所述参数的相应版本吗?我得到与 my 对应的第二组错误,
ISBN.cpp
其中包括 myISBN.h
:ISBN.cpp: 在函数 int isRegistered(FILE*, const char*, char*, char*, char*): ISBN.cpp:36:89: 错误: int isRegistered(FILE*, const char*, char*, char *, char*) 重新声明为不同类型的符号 ISBN.h:2:5: 错误:int isRegistered 的先前声明
国际标准书号.cpp
#include "ISBN.h"
#include <cstring>
#include <iostream>
#include <cstdio>
using namespace std;
int isValid(const char str[])
{
}
int isRegistered(FILE* fp, const char str[], char area[], char publisher[], char title[])
{
}