2011-11-08 2 views
1

밤새도록 내 머리를 탁자 위에 두드렸다.fstream 객체를 선언 할 수 없습니까? 포인터로 선언 할 수 있습니까?

Error 5 error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: char const & __thiscall std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >::operator*(void)const " ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@QBEABDXZ) C:\Users\Julz\Desktop\My Dropbox\3rdYear\2ndSemester\Games Prog\Game\DemocracyInvaders\Score.obj DemocracyInvaders 

내가 이렇게 같은 포인터로 선언 할 수 있습니다 : 나는 단순히 그래서 같은 ifstream 객체를 선언하기 위해 노력하고있어

....

ifstream inputStream; 

이 오류를 받고 있어요 ...

ifstream *inputStream; 

하지만 파일 데이터를 읽으려고하면 두통이 계속되는 데 그 이유는 무엇일까? 해킹 된 해결책을 시도하기 전에 기본 선언이 작동하지 않습니다. 나는 SDL은 C 이상 ++ 물건과 변화의 모든 종류, 아무것도 포함되지 않습니다 교환 시도했습니다

#ifndef SDL_GRAPHICS_H //just a class I'm using to initialise my SDL stuff 
#define SDL_GRAPHICS_H 

#include <stdio.h> 
#include <iostream> 
#include <vector> 
#include <fstream> 
#include "SDL.h" 
#include "SDL_ttf.h" 

내가 SDL을 사용하고 다음을 가지고있어

은 ... 몇 개의 파일 다운 헤더에 포함 . 내 머리글에 모두 올바른 순서로 포함되어 있으며 include에 문제가있는 경우 ifstream을 포인터로 선언 할 수 없다고 생각합니다.

오, 나는 fstream을 사용해 보았고 심지어 ofstream을 선언하려고했는데 모두 같은 오류가 발생했습니다. 또한 어떤 클래스 (소스 또는 헤더)에서 시도해도 상관 없습니다. 항상 동일합니다. 내 드라이버 (주) 파일에 직접 포함 시켜서 그것을 선언 해 보았습니다. 주사위가 없습니다. 여기 완전히 잃어 버렸습니다!

답변

7

C 런타임을 응용 프로그램에 연결하지 않은 것처럼 보입니다. 포인터가 아닌 것으로 선언되면 적어도 응용 프로그램에 ifstream 클래스의 생성자를 가져옵니다. 생성자가 C 런타임의 일부인 함수를 호출하고 연결 오류로 끝나는 것으로 보입니다.

+1

또는 _correct_의 CRT를 연결 실패. '__imp ___ CrtDbgReportW'는 디버그 CRT에 특유한 것으로 보입니다. – MSalters

+0

놀라운, 정말 고마워요. 런타임 라이브러리에 잘못된 스레딩 (thing)을 설정했습니다. SDL 사용을위한 설정을 제안한 게으른 foo로 설정 했으므로 부모 (또는 일부 옵션)에서 상속하도록 설정했으며 Robert의 아줌마는 애인으로 산다 !! – Julz

관련 문제