当在main. c中使用时,所有函数和结构都会引发“隐式声明< function>”错误/警告

bprjcwpo  于 2023-03-28  发布在  其他
关注(0)|答案(1)|浏览(229)

已提出的错误:;

main.c:18:12: warning: implicit declaration of function ‘get_word’ [-Wimplicit-function-declaration]
     word = get_word( &sentence ); 

main.c:18:12: warning: implicit declaration of function ‘get_word’ [-Wimplicit-function-declaration]
     word = get_word( &sentence ); 

main.c:21:49: error: request for member ‘word’ in something not a structure or union
     printf("Word in word_count_struct = %s\n",CS->word)

我的main.c:

#include "bow.h"

    int main(){
        struct word_count_struct *CS;
      char *sentence = "#The quick brown fox jumped over 23&%^24 the lazy dogs."; /* test sentence */
      char *word;  /* pointer to a word */

      printf( "sentence = \"%s\"\n", sentence );  /* show the sentence */

      while (*sentence)  /* while sentence doesn't point to the '\0' character at the end of the string */
      {
        word = get_word( &sentence );  /* this will allocate memory for a word */
        printf( "word = \"%s\"; sentence = \"%s\"\n", word, sentence );  /* print out to see what's happening */
        CS = new_word_count(word);
        printf("Word in word_count_struct = %s\n",CS->word);

        free(word);  /* free the memory that was allocated in get_word */
      }


    return 0;

我的bow.h(bow.c包含所有:

#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>

#ifdef BOW_H
#define BOW_H

struct word_count_struct 
{
    char *word;
    int count;
};

struct bag_struct 
{
    struct word_count_struct *bag;
    int bag_size;
    int total_words;
};

/* More functions */

#endif

生成文件:

bag: main.o bow.o bow.h
        gcc -Wall -ansi -pedantic main.o bow.o -o bag

bow.o: bow.c bow.h
        gcc -Wall -ansi -pedantic -c bow.c -o bow.o

main.o: main.c bow.h
        gcc -Wall -ansi -pedantic -c main.c -o main.o

clean:
        rm -i bag bow.o main.o

我完全不知道是什么导致了这些错误,任何帮助都将不胜感激。

7cwmlq89

7cwmlq891#

你有#ifdef BOW_H,它没有定义,所以头基本上是空白的。

相关问题