OT - Question about error messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I hope this is the right place to ask this.  I have a short program
consisting of two files:

michael@camille ourrpg $ nl character.h
     1  /*character.h - Header file for the character struct and
function prototypes*/
     2  #ifndef __CHARACTER_H__
     3  #define __CHARACTER_H__
     4
     5  typedef struct
     6  {
     7     char *name;
     8     unsigned long currentHP, maxHP, currentMP, maxMP;
     9  } character;
    10
    11  void printStats(character* c);
    12  character createCharacter(char* name, long maxHP, long maxMP)
    13  character scanCharacter(void);
    14
    15  #endif
michael@camille ourrpg $ nl character.c
     1  /*character.c - Description of a basic character*/
     2
     3  #include <stdio.h>
     4  #include <stdlib.h>
     5  #include "character.h"
     6
     7  void printStats(character* c)
     8  {
     9     printf("This character's name is %s.\n", c->name);
    10     printf("%s's max HP is %ld.\n", c->name, c->maxHP);
    11     printf("%s's max MP is %ld.\n\n", c->name, c->maxMP);
    12  }
    13
    14  character createCharacter(char* name, long maxHP, long maxMP)
    15  {
    16     character c;
    17     c.name = name;
    18     c.maxHP = maxHP;
    19     c.maxMP = maxMP;
    20
    21     c.currentHP = maxHP;
    22     c.currentMP = maxMP;
    23     return c;
    24  }
    25
    26  character scanCharacter(void)
    27  {
    28     char name[8];
    29     long maxHP, maxMP;
    30
    31     printf("What is this character's name?  ");
    32     scanf("%s", &name);
    33
    34     do
    35     {
    36        printf("What is %s's max HP?  ", name);
    37        scanf("%ld", &maxHP);
    38        maxHP = atol(maxHP);
    39        if (maxHP <= 0)
    40           printf("Max HP must be a positive number greater than
zero.  Let's try this again...\n\n");
    41     }
    42     while (maxHP <= 0);
    43
    44     
    45
    46     do
    47     {
    48        printf("What is %s's max MP?  ", name);
    49        scanf("%ld", &maxMP);
    50        maxMP = atol(maxMP);
    51        if (maxMP <= 0)
    52           printf("Max MP must be a positive number greater than
zero.  Let's try this again...\n\n");
    53     }
    54     while (maxMP <= 0);
    55
    56     printf("\n\n");
    57
    58     return createCharacter(name, maxHP, maxMP);
    59  }
    60
    61
    62  int main()
    63  {
    64     character char1[4];
    65     
    66     int i;
    67     for (i = 0; i < 4; i++)
    68     {
    69        char1[i] = scanCharacter();
    70        printStats(&char1[i]);
    71     }
    72
    73     return 0;
    74  }

When I compile it, I get this:

character.c: In function 'createCharacter':
character.c:8: error: expected '=', ',', ';', 'asm' or '__attribute__'
before '{' token
character.c:15: error: expected '=', ',', ';', 'asm' or '__attribute__'
before '{' token
character.c:27: error: expected '=', ',', ';', 'asm' or '__attribute__'
before '{' token
character.c:63: error: expected '=', ',', ';', 'asm' or '__attribute__'
before '{' token
character.c:74: error: old-style parameter declarations in prototyped
function definition
character.c:74: error: expected '{' at end of input
make: *** [character] Error 1

I have no idea what those errors mean.  Can anyone help me, or else
direct me to a website that provides explanations for what gcc error
messages mean?  Thank you.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux