Problem z conio.h w Visual C++

0

Witam. Podczas kompilacji w Visual C++ 2010 wychodzą takie błędy:
1>c:\program files\microsoft visual studio 10.0\vc\include\conio.h(21): error C2143: syntax error : missing ';' before 'string'
1>c:\program files\microsoft visual studio 10.0\vc\include\conio.h(21): error C2059: syntax error : 'string'
1>c:\program files\microsoft visual studio 10.0\vc\include\conio.h(21): error C2143: syntax error : missing ';' before '{'
1>c:\program files\microsoft visual studio 10.0\vc\include\conio.h(21): error C2447: '{' : missing function header (old-style formal list?)

Jaka może być przyczyna?

0

Jakie conio.h? Zapomnij o tym.

0

um.. ale czemu ma zapomniec? to normalny C-owy nagłowek z SDK przychodzacego z VS.
niech pokaze tamte linijki.. jesli pierwszy blad mowi o "missing ; przed string", to pewnie using-namespace-std zapomnial i tyle..

ale zaraz zaraz..
blad mowi "vc/include/conio.h(21): "
w VS2008 w conio.h w linii 21 NIE MA żadnej wzmianki o std::string..
czyzbys podmienił Visualowy conio.h na jakis inny plik sciagniety z sieci?
pokaz linijki 10-30 tego pliku (conio.h)

0

quetzalcoatl ma racje. Nawet jeśli to dos'owy nagłówek, to czemu ma nie używać go? Najwyżej jak tak jest nieprzenośny itp. to chyba będzie używał go na Windowsie? Swoją drogą conio2.h z funkcjami wymieta ;).

0

Użyłem tego conio.h co jest w każdym visual c++, ale ten sam błąd pojawia się jak dołączam conio.h z deva
linijki od 14 do 31:

#pragma once

#ifndef _INC_CONIO
#define _INC_CONIO

#include <crtdefs.h>
#ifdef __cplusplus
extern "C" {                         //linijka 21
#endif

/* Function prototypes */

_Check_return_wat_ _CRTIMP errno_t __cdecl _cgets_s(_Out_z_cap_(_Size)                char * _Buffer, size_t _Size, _Out_ size_t * _SizeRead);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _cgets_s, _Deref_post_count_(*_Buffer) char, _Buffer, _Out_ size_t *, _SizeRead)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_CGETS(char *, _CRTIMP, _cgets, _Pre_notnull_ _Post_z_, char, _Buffer)
_Check_return_opt_ _CRTIMP int __cdecl _cprintf(_In_z_ _Printf_format_string_ const char * _Format, ...);
_Check_return_opt_ _CRTIMP int __cdecl _cprintf_s(_In_z_ _Printf_format_string_ const char * _Format, ...);
_Check_return_opt_ _CRTIMP int __cdecl _cputs(_In_z_ const char * _Str);
0

nie podoba mu sie extern"C"? jedyne co mi na mysl przychodzi, to ze Twoj oryginalny plik ktory include'uje ten naglowek, moglby byc z jakiegos powodu kompilowany jaok C a nie C++, chociaz temu by przeczyl fakt, ze #ifdef __cplusplus się włączył.. na wszelki wypadek sprawdz w properties Twojego pliku z kodem. Inna rzecz, Twoj plik ma rozszerzenie .cpp nie .c ? visual domyslnie rozroznia miedzy nimi i stosuje inne opcje kompilacji.. niemniej, dziwi mnie to, ze blad jest raportowany w tej linii. Czy wkleiles na poczatku caly log z bledami? tzn. jego "czubek" od samego poczatku, czy tylko jakis srodkowy fragment? nie mam w tej chwili sensownych pomyslow:/

1 użytkowników online, w tym zalogowanych: 0, gości: 1