错误:以前的原型没有检查'

时间:2015-10-02 03:40:26

标签: c compiler-errors

在我的程序中,我有一个名为hiker.c的文件。该文件的适当内容如下:

char** answer(char c)
{

// Initial scanf and check
    printf("Please input the character which you want to build your diamond with");
    if (check(c) == true) {
        printf("\n");
    } else {
        printf("Not a valid character");
        return NULL; 
    }


 ....

我在#include "check.h"中有hiker.c作为标题。 check.h的内容如下:

// Check Function for the input characters
bool check(char c)
{

int ascii = (int)c;
if (ascii < 122 && ascii > 97) {
    return false; 
            printf("Lowercase letters not allowed.");
} else if (ascii < 65 && ascii > 90) {
    return false; 
} else {
    return true; 
}

}

现在我得到的错误是:

check.h:5:6: error: no previous prototype for 'check' [-Werror=missing-prototypes] bool check(char c)

我不明白这个原因。

1 个答案:

答案 0 :(得分:1)

这是一个可能的check.c文件

#include <stdio.h>
#include "check.h"

// Check Function for the input characters
bool check(char c)
{
    int ascii = (int)c;

    if (ascii < 122 && ascii > 97)
    {
        return false; 
                printf("Lowercase letters not allowed.");
    }

    else if (ascii < 65 && ascii > 90)
    {
        return false; 
    }

    else
    {
        return true; 
    }

} // end function: check.c

这是hiker.c文件

#include <stdio.h>
#include "check.h"


char** answer(char c)
{

// Initial scanf and check
    printf("Please input the character which you want to build your diamond with");
    if (check(c) == true) {
        printf("\n");
    } else {
        printf("Not a valid character");
        return NULL; 
    }


 ....

这是check.h文件

#ifndef CHECK_H
#define CHECK_H

#include <stdbool.h>

bool check(char c);

#endif // CHECK_H