2017-04-18 7 views
-3

오늘 깨어나 프로젝트를 열어서 실행 해 보았습니다. 운 좋게도 주 기능을 입력하기 전에 멈 춥니 다.main()을 입력하기 전에 내 프로그램이 작동을 멈춘 이유

그러나 어젯밤에 작동했지만 지금은 작동하지 않습니다. 나는 그것을 바꾸기 위해 아무것도하지 않았다.

source.cpp입니다 :

#include <SFML/Graphics.hpp> 
#include "Game.h" 
#include <iostream> 

using namespace std; 


int main() 
{ 
    string name; 
    cout << "alupigus"; 

    name = "Dino Attack"; 

    Game game(800, 800, name); 

    game.loadAssets(); 

    game.Run(); 

    return 0; 
} 

내가 컴파일하고 콘솔에서 실행

, 그것은 검은 화면 만 아무것도 표시되지 않습니다. 아무것도 입력 할 수 없으며 SFML의 renderwindow가 표시되지 않습니다.

+1

'cout << "alupigus";''cout << "alupigus"<< endl; " – Jonas

+0

어떻게 도움이 될지 모르지만 어떻게 수정했는지 그리고 새 라인이나 아무것도 시작하지 않는지보십시오. –

+1

코드가 실제로 얼마나 멀리 떨어져 있는지 보려면 중단 점을 넣으려고 했습니까? –

답변

1

당신은 플러시 스트림하지 않았다 해당 파일을 이동하지 않았다 나는 단지 외부 라이브러리로 SFML을 사용하고 있습니다,하지만 난 어떤 링크를 수정하지 않았다. 코드는 다음과 같아야합니다 :이 더 큰 프로젝트에 나쁜 관행이기 때문에

또한
#include <SFML/Graphics.hpp> 
#include "Game.h" 
#include <iostream> 

using namespace std; 


int main() 
{ 
    string name; 
    cout << "alupigus" << endl; 

    name = "Dino Attack"; 

    Game game(800, 800, name); 

    game.loadAssets(); 

    game.Run(); 

    return 0; 
} 

using namespace std;을 제거 을 고려한다. 읽기 this

+0

위의 코드에서 namespace를 사용하면 std는 아무런 해를 끼치 지 않고 공평합니다. –

+0

팁을 주셔서 고마워요 네임 스페이스 abot,하지만 endl 아무것도하지 않습니다 중 하나를, 정말 모르겠지만 무엇을 해야하는 경우에 그 doesnt는 콘솔에 어쨌든 문자열을 써주세요. –

+0

@const_ref이 프로젝트가 좀 더 큰 프로젝트라고 가정합니다. 모든 코드를 볼 수는 없습니다. –

0
그래서 기본적으로 내가 나를 주

x = Board::dinozaurPoz; 
     x.x = rand() % 400 + 200; 
     while (Board::matrix[(int)x.y/40][(int)x.x/40] != 1) { 
      x.x = rand() % 400 + 200; 

루프가 실행되지 것입니다에 대한 코드의이 부분을 만지지하지에도 불구하고, problem.For이 정상적으로 실행 프로그램을 방지 몇 가지 이유를 해결 좋아

무기한으로, 나는 정말로 여기의 문제가 무엇인지 모른다. 어쩌면 경험이 많은 사람이 내가 잘못한 것에 대해 조언 해 줄 수 있습니다.

+1

더 많은 경험을 가진 사람으로서 불경스런 말을 할 수 있습니다. Stack Overflow. 나중에 사용하지 마십시오. – Adriaan

+1

죄송합니다. 하루 종일 괴롭 혔으며 다시는 발생하지 않습니다. –