• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C++][SFML] Problem z deklaracją obiektu typu sf::VertexArray w pliku nagłówkowym klasy.

VPS Starter Arubacloud
+1 głos
227 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez pietrzakacper Mądrala (7,480 p.)

Witam!

Otóż potrzebuje skorzystać z klasy sf::VertexArray w mojej grze pisanej w SFML.

Jednak pisząc na przykład :

sf::VertexArray triangle(sf::Triangles, 3);

to oba argumenty podkreślają się na czerwono, a po najechaniu na pierwszy Visual Studio 2015 podpowiada :

Error: constant "sf::Triangles" is not a type name

A błąd wyrzucony przy próbie kompilacji to:

 
Error    C2061    syntax error: identifier 'Triangles 

Sytuacja jest taka sama gdy chce użyć jakiegokolwiek sf::PrimitiveType. Wszystkie inne elementy biblioteki działają poprawnie. Błąd pojawia się tylko gdy próbuje zadeklarować obiekt w pliku nagłówkowym jako jeden z atrybutów klasy. W plikach z rozszerzeniem .cpp już nie ma tego problemu ani w metodach.  Co robię nie tak ?

2 odpowiedzi

+2 głosów
odpowiedź 3 stycznia 2016 przez adrian17 Ekspert (349,240 p.)
 
Najlepsza

Bo to co napisałeś dla kompilatora wygląda jak deklaracja funkcji triangle która zwraca sf::VertexArray a jako argumenty bierze... error.

Zamień to na

sf::VertexArray triangle = sf::VertexArray(sf::Triangles, 3);

Albo:

sf::VertexArray triangle{sf::Triangles, 3};

 

komentarz 3 stycznia 2016 przez pietrzakacper Mądrala (7,480 p.)
Wow, działa i ma sens dzięki!
+1 głos
odpowiedź 3 stycznia 2016 przez MetGang Nałogowiec (34,360 p.)

Sądząc po tym, co napisałeś, sytuacja przedstawia się tak:

class Foo
{
    public:
        sf::VertexArray triangle(sf::Triangles, 3);
};

Jest to błąd składniowy... Niepoprawna lecz dopuszczalna jest taka wersja:

class Foo
{
    public:
        sf::VertexArray triangle = sf::VertexArray(sf::Triangles, 3);
};

Lecz najlepiej jakbyś ustawiał wartości początkowe w konstruktorze klasy odpowiednimi metodami: http://www.sfml-dev.org/documentation/2.0/classsf_1_1VertexArray.php

Podobne pytania

0 głosów
1 odpowiedź 387 wizyt
pytanie zadane 23 listopada 2019 w C i C++ przez Szymek_sw Początkujący (420 p.)
0 głosów
1 odpowiedź 422 wizyt

92,975 zapytań

141,938 odpowiedzi

321,181 komentarzy

62,302 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...