sppmacd Temat założony przez niniejszego użytkownika |
[C++][SFML] std::vector -> 0xC0000005 » 2018-03-12 18:24:03 Witam, przy próbie uruchomienia poniższego kodu program wysypuje się i zwraca kod błędu: 0xC0000005. Co mam zrobić? Kod: #include <SFML/Graphics.hpp> #include <vector> #include <cstdlib> #include <iostream>
using namespace std;
vector < sf::CircleShape > objs;
int main() { srand( time( NULL ) ); sf::RenderWindow wnd( sf::VideoMode( 300, 300, 32 ), "Test" ); sf::Event event; while( wnd.isOpen() ) { objs.clear(); for( int i = 0; i < 10; i++ ) { sf::CircleShape circleshape( 2 ); circleshape.setPosition( rand() % 300, rand() % 300 ); circleshape.setFillColor( sf::Color( rand() % 255, rand() % 255, rand() % 255 ) ); objs.push_back( circleshape ); } while( wnd.pollEvent( event ) ) { if( event.type == sf::Event::Closed ) { wnd.close(); } } for( vector < sf::CircleShape >::iterator i = objs.begin(); i < objs.end(); i++ ) { wnd.draw( * i ); } wnd.display(); } return 0; }
Debugger nie mówi nic konkretnego. Z góry dziękuję za pomoc! |
|
pekfos |
» 2018-03-12 18:41:36 Kod wygląda poprawnie. Próbowałeś robić rebuild? |
|
sppmacd Temat założony przez niniejszego użytkownika |
Rebuild » 2018-03-12 18:54:18 [cycat]Próbowałeś robić rebuild?[/cytat] Próbowałem, i to nic nie dało. Podam jeszcze call stack debuggera: #0 0x2b ?? () (??:??) #1 0x3fffffff ?? () (??:??) #2 0x40000000 ?? () (??:??) #3 0xff59e7e5 ?? () (??:??) #4 ?? ?? () (??:??)
|
|
pekfos |
» 2018-03-12 19:07:59 To samo się dzieje przy takim rysowaniu? sf::CircleShape circleshape( 2 ); circleshape.setPosition( rand() % 300, rand() % 300 ); circleshape.setFillColor( sf::Color( rand() % 255, rand() % 255, rand() % 255 ) ); wnd.draw( circleshape );
|
|
sppmacd Temat założony przez niniejszego użytkownika |
Bez wektora tak samo » 2018-03-12 19:17:15 Jak wrzuciłem w tę pętlę to tak samo for( int i = 0; i < 10; i++ ) { sf::CircleShape circleshape( 2 ); circleshape.setPosition( rand() % 300, rand() % 300 ); circleshape.setFillColor( sf::Color( rand() % 255, rand() % 255, rand() % 255 ) ); wnd.draw( circleshape ); }
Przy każdym użyciu draw() . EDIT 1: Używam SFML 2.4.2 |
|
pekfos |
» 2018-03-12 19:25:23 Jak rozumiem nawet coś takiego nie działa? #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow wnd( sf::VideoMode( 300, 300, 32 ), "Test" ); wnd.draw( sf::CircleShape( 2 ) ); } W takim razie skąd masz build SFMLa i jakiego używasz kompilatora? |
|
sppmacd Temat założony przez niniejszego użytkownika |
» 2018-03-12 19:40:59 Tak, coś takiego też nie działa (To dziwne, wcześniej działało, to jest pierwszy projekt w którym ta metoda nie działa)
SFML'a mam z oryginalnej strony (https://www.sfml-dev.org/), a kompilator... GCC 4.9.2, dokładnie "x86_64 4.9.2 sjlj-rt v4-rev4" |
|
pekfos |
» 2018-03-12 19:51:57 |
|
« 1 » 2 |