Čo má byť v zátvorkách? nejde skompilovať – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Čo má byť v zátvorkách? nejde skompilovať – C / C++ – Fórum – Programujte.comČo má byť v zátvorkách? nejde skompilovať – C / C++ – Fórum – Programujte.com

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Anton
~ Anonymní uživatel
5 příspěvků
10. 3. 2017   #1
-
0
-

Ahoj hoši, viete mi pomôcť, ako skompilovať tento projekt? Projekt ma viacero súborov no ide mi o k.c a k.h a k.o Pri zadaní make k mi vyskočia chybové hlášky 

  1. k.c:15:6: error: conflicting types for ‘render’
    In file included from k.c:3:0:
    k.h:19:6: note: previous declaration of ‘render’ was here
    k.c:23:6: error: conflicting types for ‘is_move_possible’
    In file included from k.c:3:0:
    k.h:40:6: note: previous declaration of ‘is_move_possible’ was here
    k.c:26:6: error: conflicting types for ‘is_game_won’
    In file included from k.c:3:0:
    k.h:48:6: note: previous declaration of ‘is_game_won’ was here
    k.c: In function ‘is_game_won’:
    k.c:28:1: error: control reaches end of non-void function [-Werror=return-type]
    k.c: In function ‘is_move_possible’:
    k.c:25:1: error: control reaches end of non-void function [-Werror=return-type]
    k.c: In function ‘update’:
    k.c:22:1: error: control reaches end of non-void function [-Werror=return-type]
    cc1: all warnings being treated as errors

Problém je v súbore k.c ibaže neviem ako to skompilovať. Neviem čo má byť v zátvorkách, môžete mi to prosím zmeniť? Zvýrazním to tučným písmom to, čo treba zmeniť.
 

K.c

#include <stdio.h>
#include <stdlib.h>
#include "k.h"
void add_random_tile(struct game *game){
    int row, col;
    // find random, but empty tile
    do{
        row = rand() % 4;
        col = rand() % 4;
    }while(game->board[row][col] != ' ');
    // place to the random position 'A' or 'B' tile
    int tile = 'A' + (rand() % 2);
    game->board[row][col] = tile;
}
void render(struct game *game)
{

}
bool update(struct game *game, int dy, int dx)
{
     
}
bool is_move_possible(struct game *game){ 

}
bool is_game_won(struct game *game){

}

K.h

#include <stdbool.h>
struct game {
   
    char board[4][4];

    int score;
};

 void add_random_tile(struct game *game);

void render(const struct game game);

 bool update(struct game *game, int dy, int dx);

bool is_move_possible(const struct game game);

bool is_game_won(const struct game game);

Funkcia main bude obsiahnutá v súbore main.c

Makefile
 

#variables
CC = gcc
CFLAGS = -std=c11 -Wall -Werror
LDLIBS = -lm
OUTPUT = game

#targets
all: $(OUTPUT)

$(OUTPUT): hof.o k.o main.o
        $(CC) $(CFLAGS) hof.o k.o main.o $(LDLIBS) -o $(OUTPUT)

main.o: main.c
        $(CC) $(CFLAGS) main.c -c $(LDLIBS) -o main.o

k.o: k.c
        $(CC) $(CFLAGS) k.c -c $(LDLIBS) -o k.o

hof.o: hof.c
        $(CC) $(CFLAGS) hof.c -c $(LDLIBS) -o hof.o

clean:
        rm -rf $(OUTPUT)
        rm -rf hof.o
        rm -rf k.o
        rm -rf main.o
Nahlásit jako SPAM
IP: 84.16.53.–
gna
~ Anonymní uživatel
1214 příspěvků
10. 3. 2017   #2
-
0
-

V k.c dej ty parametry stejně stejně jako jsou v k.h.

Nahlásit jako SPAM
IP: 213.211.51.–
KIIV
~ Moderátor
+43
God of flame
10. 3. 2017   #3
-
0
-

Tak mas prototyp:

void render(const struct game game);

a funkci:

void render(struct game *game)
{

}

Takze neni potreba byt raketovy inzenyr, abys to poznal.

Plus je strasne matouci, kdyz mas nazev struktury i promennou pojmenovanou stejne.

Nahlásit jako SPAM
IP: 94.113.99.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 46 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý