• 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

0 głosów
526 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ź 656 wizyt
+1 głos
1 odpowiedź 1,287 wizyt
pytanie zadane 16 stycznia 2017 w C i C++ przez Packman2002 Początkujący (380 p.)
+1 głos
1 odpowiedź 623 wizyt
pytanie zadane 1 lutego 2021 w C# przez patryk8 Początkujący (300 p.)

93,753 zapytań

142,713 odpowiedzi

323,356 komentarzy

63,348 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...