• 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

Object Storage Arubacloud
0 głosów
202 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ź 277 wizyt
+1 głos
1 odpowiedź 944 wizyt
pytanie zadane 16 stycznia 2017 w C i C++ przez Packman2002 Początkujący (380 p.)
+1 głos
1 odpowiedź 316 wizyt
pytanie zadane 1 lutego 2021 w C# przez patryk8 Początkujący (300 p.)

92,572 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...