Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- petipetya: Nagy chili topic. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Parci: Milyen mosógépet vegyek?
- GoodSpeed: Miért úszta meg Albert Speer? (Reagálás a Telex cikkére)
- biistvan: Notebook billentyűzet mellett ragados a burkolat
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
nonsen5e
#3826
üzenetére
.hpp-be lehetőleg ne tegyél fv. vagy globális változó defíníciót (csak deklarációt), mert ezeket beinklúdolod a különböző fordítási egységekbe, amik le is fordulnak, de mindegyik object kódban megjelenik a beinklúdolt fv. kódja, amit a linker többszörös definíciónak vesz. Pl:
//akarmi.hpp
#ifndef _AKARMI_HPP_
#define _AKARMI_HPP_
int f(int x){
return x;
}
#endif
//akarmi1.cpp
#include "akarmi.hpp"
#include <stdio.h>
int g(int x);
void main(void){
printf("%d",f(5));
printf("%d",g(6));
}
//akarmi2.cpp
#include "akarmi.hpp"
int g(int x){
return f(x);
}Itt az akarmi1.cpp-be, és az akarmi 2.cpp-be is bekerül az f fv. kódja, linkeléskor pedig dupla definíció miatt hibát ad a linker. Helyesen az akarmi.hpp-be csak deklaráció kerül (fv. prototype)
//akarmi.hpp
#ifndef _AKARMI_HPP_
#define _AKARMI_HPP_
int f(int x);
#endifés valamelyik .cpp állományba (akár új akarmi3.cpp-be) írod az f fv. definícióját.
Remélem tudtam segíteni.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Ygitk ZP-THP60 vezeték nélküli fejhallgató / 12 hó jótállás Akkumulátoros vezeték nélküli fejhallga
- GYÖNYÖRŰ iPhone 11 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3268, 100% Akkumulátor
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3109
- Bomba ár! Dell Latitude 5410 - i5-10GEN I 8GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- Apple iPhone 11 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

