[C++] [Libnotifymm] * w deklaracji

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
bart13
Sędziwy Jeż
Sędziwy Jeż
Posty: 75
Rejestracja: 14 lut 2008, 14:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

[SOLVED] [C++] [Libnotifymm] * w deklaracji

Post autor: bart13 »

Witam. Mam problem z deklaracją Notify::Notification. Otóż muszę przy deklaracji postawić *, bo inaczej kompilator nie chce kompiloać, a gdy chcę użyć Notify::Notification::Notification kompilator wywala takie błędy :
make pisze:src/gui.cpp: In function ?void Gui::ShowNotification(std::string, std::string, Notify::Urgency)?:
src/gui.cpp:111: error: cannot convert ?Notify::Notification? to ?Notify::Notification*? in assignment
Oto mój kod:

Kod: Zaznacz cały

    void ShowNotification(std::string name, std::string message, Notify::Urgency urgency)
    {
        GError *error = NULL]
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: Hauleth »

Wróć do kursu C++ i potem przyjdź tu jeszcze raz.
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
bart13
Sędziwy Jeż
Sędziwy Jeż
Posty: 75
Rejestracja: 14 lut 2008, 14:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: bart13 »

A nie możesz popostu powiedzieć co zrobiłem źle? Bo tak troche nie chce mi się czytać calego kursu c++.
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: Hauleth »

Poczytaj o wskaźnikach, potem przeczytaj jakie tam masz błędy i będziesz wiedział co masz źle.
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
bart13
Sędziwy Jeż
Sędziwy Jeż
Posty: 75
Rejestracja: 14 lut 2008, 14:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: bart13 »

Właśnie w tym problem, że jak robię tak jak ma być to mi podczas kompilacji wywala:
make pisze:src/gui.cpp:84: warning: taking address of temporary
A gdy uruchomię program wywala:
program pisze:(eoserv-debug:11828): libnotify-CRITICAL **: notify_notification_attach_to_status_icon: assertion `NOTIFY_IS_NOTIFICATION(notification)' failed

(eoserv-debug:11828): libnotify-CRITICAL **: notify_notification_set_timeout: assertion `notification != NULL' failed

(eoserv-debug:11828): libnotify-CRITICAL **: notify_notification_set_category: assertion `notification != NULL' failed

(eoserv-debug:11828): libnotify-CRITICAL **: notify_notification_set_urgency: assertion `notification != NULL' failed

(eoserv-debug:11828): libnotify-CRITICAL **: notify_notification_show: assertion `notification != NULL' failed
I nie wyświetla powiadomienia. Da sie coś z tym zrobić?
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: Hauleth »

bo coś źle robisz, bo pobierasz wartość tymczasową.
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
bart13
Sędziwy Jeż
Sędziwy Jeż
Posty: 75
Rejestracja: 14 lut 2008, 14:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: bart13 »

Kod: Zaznacz cały

    void ShowNotification(std::string name, std::string message, Notify::Urgency urgency)
    {
        /*GError *error = NULL;
        Notify::Notification* notification;

        // create a new notification
        notification = &Notify::Notification::Notification(name, message, "/home/bartek/Desktop/icon.png");

        // attach status icon to the notification
        notification->attach_to_status_icon(StatusIcon2);

        // set the timeout of the notification to 3 secs
        notification->set_timeout(3000);

        // set the category so as to tell what kind it is
        notification->set_category("eoserv");

        // set the urgency level of the notification
        notification->set_urgency(Notify::URGENCY_LOW);

        notification->show();*/
    }
To moj kod. Co robie zle?
adrian5632
Przyjaciel
Przyjaciel
Posty: 259
Rejestracja: 17 gru 2006, 16:07
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: [C++] [Libnotifymm] * w deklaracji

Post autor: adrian5632 »

Kod: Zaznacz cały

&Notify::Notification::Notification(name, message, "/home/bartek/Desktop/icon.png");
A od kiedy to się w ten sposób konstruktorów używa dla obiektów na stercie?? Przeczytaj naprawdę o wskaźnikach w C++...
[IMG]http://www.ubudsl.com/media/UbuDSL.png[/IMG]
Masz problem z UbuDSL? Nie zapomnij wygenerować i załączyć loga do postu!
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości