C++ funkcja działa w pliku nagłówkowym, a w źródłowym nie.

0

Jak kompiluje gdy ciało f(x) jest zapisane w .h to śmiga, jak chce żeby w .h była tylko deklaracja f(x) a w .cpp jej ciało to pojawiają się błędy. Cała idea podziału projektu na pliki .h i .cpp jest chyba po to żeby ciała funkcji były w plikach źródłowych, a nagłówki to spis treści, nie? No to czemu ludzie piszą w plikach nagłówkowych na yt'bach i w poradnikach? Co zrobić żeby fungało? title title

2
  1. tak nagłówki powinny byc tylko spisem treści
  2. czasami w nagłówkach wprowadza się ciała prostych metod (np gettery czy settery, po to by mogły być one inlinowane podcza skompilacji
  3. czasami niektórzy umieszczają ciało funkcji w nagłówkach, bo nie potrafią utworzyć projektu a to jest złe rozwiązanie.
2

W .cpp widzę definicję wolnej funkcji, a nie metody klasy. Metody definiujesz typ klasa::metoda(parametry){ciało;}

0

A dzięki dzięki, co prawda nie działa bo już ot tak nie mogę zmienić programu na tym etapie bo mi jakieś błędy wywala ale jak to zapisze tak:

System::Void Project1::MyForm::MyForm_Activated(System::Object^  sender, System::EventArgs^  e)
{
	pictureBox1->Image = imageList1->Images[1];
}

to VS ładnie zaznacza więc jak mniemam teraz jest ok?
Trochę tajemniczo mi to przedstawiłeś, w sumie to powiedziałeś co wiedziałem ale nakierowałeś mnie nieźle, bo jak zacząłem kminić co mam zrobić, no bo skąd miałem wiedzieć jako green jak daleko sięgają te relacje :: ale najechałem kursorem na tą f(x) w .h to mi wyświetliło jej pochodzenie że tak powiem, so thx :3

1

Jest ok, ale ładniej byłoby tak:

namespace Project1
{

    void MyForm::MyForm_Activated(Object ^sender, EventArgs ^e)
    {
        pictureBox1->Image = imageList1->Images[1];
    }

}

1 użytkowników online, w tym zalogowanych: 0, gości: 1