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

Visual Studio SFML RenderWindow

Mały hosting, OGROMNE możliwości
0 głosów
617 wizyt
pytanie zadane 4 marca 2019 w C i C++ przez milioneq Początkujący (260 p.)
edycja 4 marca 2019 przez milioneq
#include "pch.h"
#include <iostream>
#include <SFML\Graphics.hpp>
#include <SFML\Window.hpp>
#include <SFML\System.hpp>

using namespace sf;
using namespace std;

RenderWindow window(VideoMode(1280, 704, 32), "Gierka");

int main()
{

}

Zgłoszono wyjątek w lokalizacji 0x00007FFFEBCC9A9D (ntdll.dll) w sfml.exe: 0xC0000005: Naruszenie zasad dostępu podczas zapisywania w lokalizacji 0x0000000000000008.: wystąpił wyjątek

 

Taki błąd pokazuje się, gdy metodę RenderWindow wpiszę poza int main(), o co to chodzi?

Z góry dzięki.

1
komentarz 4 marca 2019 przez niezalogowany
Wstaw kod.
komentarz 4 marca 2019 przez milioneq Początkujący (260 p.)
gotowe

2 odpowiedzi

0 głosów
odpowiedź 4 marca 2019 przez niezalogowany
Używanie zmiennych globalnych jest złe. Natomiast sami developerze SFML odradzają definiowanie sf::RenderWindow w globalnym scope, lub jako obiekt statyczny. Kolejność wykonywania konstruktorów zmiennych globalnych/statycznych nie jest zdefiniowana co może spowodować, że konstruktor sf::GlResource (sf::RenderWindow dziedziczy po sf::Window, a ono po sf::GlResource) może spróbować zablokować nieprawidłowy sf::Mutex.
0 głosów
odpowiedź 4 marca 2019 przez criss Mędrzec (172,570 p.)

Obstawiam, że kontekst OpenGL nie jest stworzony w momencie wywołania konstruktora albo jakiś podobny problem. Możesz spróbować tak:


#include "pch.h"
#include <iostream>
#include <SFML\Graphics.hpp>
#include <SFML\Window.hpp>
#include <SFML\System.hpp>
 
using namespace sf;
using namespace std;
 
RenderWindow window;
 
int main()
{
   window.create(VideoMode(1280, 704, 32), "Gierka");
}

 

Podobne pytania

0 głosów
0 odpowiedzi 477 wizyt
0 głosów
2 odpowiedzi 908 wizyt
pytanie zadane 29 stycznia 2021 w C i C++ przez Maciek Pestka Nowicjusz (220 p.)
0 głosów
0 odpowiedzi 246 wizyt

93,715 zapytań

142,629 odpowiedzi

323,260 komentarzy

63,257 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...