• 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

VPS Starter Arubacloud
0 głosów
271 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ź 329 wizyt
+1 głos
1 odpowiedź 1,090 wizyt
pytanie zadane 16 stycznia 2017 w C i C++ przez Packman2002 Początkujący (380 p.)
+1 głos
1 odpowiedź 435 wizyt
pytanie zadane 1 lutego 2021 w C# przez patryk8 Początkujący (300 p.)

93,079 zapytań

142,043 odpowiedzi

321,452 komentarzy

62,424 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...