[C++] Funkcja inline a typ linkage'u

Mi Code::Blocks go wychwycił:

void fun(){}inline void fun(){} [/code]

Oczywiście o ile są w jednym pliku, a chodzi o:

inline void fun() { cout<<__FILE__<

w kilku plikach niezależnie kompilowanych, ale w każdym różna zawartość bo co innego wyświetlamy.

No fakt, jak rozmieszczę to w 2 plikach to nie znajdzie mi tego błędu.

Wychodzi jakby na to samo jakbym te funkcje inline dał do przestrzeni nazw albo umiescil przed słowem static… Więc po co dodatkowo to robić skoro nie wyświetla mi kompilator błędu :?:

Być może sam odpowiem na to pytanie, ale dopiero jak zrozumiem ten fragment:

O co Ci chodziło flash4gordon :?:

// file: test1.cpp

Ahaaaaa…

Czyli kompilator zostawia tą funkcję inline (jeżeli inline nie przypilnuje) która jest w pierwszym kompilowanym pliku.

Resztę wywala i aby tak się nie stało to wszystkie muszą mieć internal linkage.

Już rozumiem wszystko - dzięki wielkie :slight_smile: