• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

błąd funkcji: first defined here

Konkurs Mistrz Programowania
0 głosów
448 wizyt
pytanie zadane 16 kwietnia 2017 w C i C++ przez Krzychu234 Początkujący (350 p.)
edycja 16 kwietnia 2017 przez Krzychu234

mam taką funkcję

#include "nagl.h"

float funkcja_dodawania(float x, float y)
{
    cout<<"Podaj 1 liczbe: ";
    cin>>x;
    cout<<"Podaj 2 liczbe: ";
    cin>>y;
    return x+y;
}

i w 4 linijce wyskakuje mi error: first defined here. I nie mam pojęcia jak to naprawićfrown

a tutaj macie nagłówek:

#include <iostream>
#include <time.h>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>

using namespace std;

float funkcja_dodawania(float x, float y); 

 

PS. chce zrobić tak że w pliku z funkcją było same jej ciało, a w pliku głównym jej wywołanie.

 

komentarz 16 kwietnia 2017 przez Evelek Nałogowiec (28,960 p.)
Dlaczego mieszasz nagłówki z Języka C z np. przestrzenią nazw std z języka C++?

1 odpowiedź

0 głosów
odpowiedź 16 kwietnia 2017 przez JAKUBW Nałogowiec (33,470 p.)

Użyj dyrektyw preprocesora aby załączać plik tylko raz.

#include <iostream>
#include <time.h>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
 
#ifndef FILE_1
#define FILE_1

using namespace std;
 
float funkcja_dodawania(float x, float y);

#endif

Lub pragma once gdy używasz visual studio.

komentarz 16 kwietnia 2017 przez Krzychu234 Początkujący (350 p.)

nadal mam ten błąd frown

komentarz 16 kwietnia 2017 przez 10kw10 Pasjonat (22,880 p.)
moze stworzyles dwa pliki .cpp lub .h ?

Jeden musi byc .h gdzie jest tylko naglowek funkcji, a drugi .cpp - cialo funkcji.
komentarz 16 kwietnia 2017 przez Krzychu234 Początkujący (350 p.)
mam jeden nagłówek, plik z tą funkcją, i główny plik w którym chce ją wywołać, oba są cpp
komentarz 16 kwietnia 2017 przez 10kw10 Pasjonat (22,880 p.)

plik .h powinien wygladac tak:

#ifndef NAGL_H_INCLUDED
#define NAGL_H_INCLUDED
float funkcja_dodawania(float x, float y);
#endif

 

komentarz 16 kwietnia 2017 przez JAKUBW Nałogowiec (33,470 p.)

A cpp:

#include "nazwaPliku"
#include <iostream>
 
float funkcja_dodawania(float x, float y)
{
    std::cout<<"Podaj 1 liczbe: ";
    std::cin>>x;
    std::cout<<"\nPodaj 2 liczbe: ";
    std::cin>>y;
    return x+y;
}

 

Podobne pytania

0 głosów
1 odpowiedź 511 wizyt
+1 głos
1 odpowiedź 1,231 wizyt
pytanie zadane 16 stycznia 2017 w C i C++ przez Packman2002 Początkujący (380 p.)
+1 głos
1 odpowiedź 562 wizyt
pytanie zadane 1 lutego 2021 w C# przez patryk8 Początkujący (300 p.)

93,658 zapytań

142,577 odpowiedzi

323,100 komentarzy

63,175 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...