я получаю эти ошибки вокруг этих устанавливает:отсутствует спецификатор типа - Int предполагается, и связанные с ними вопросы
Код:
#if defined(POSTER_VER)
#define DECLARE_COM_PORT_EXT(pErrInfo) \
char aname[128]; \
sprintf(aname, "\\\\.\\COM%d", g_COMPortNumber); \ //First error is here(see below)
if(!port.OpenPort(aname, CBR_115200, 8, NOPARITY, ONESTOPBIT, HSM_READ_TIMEOUT)) { dppModuleError(dppERR_IO_ERROR, "Ошибка работы с аппаратным ключем").FillErrorStruct(pErrInfo); return dppERR_FAIL ; }
Ошибки:
1>d:\dppclientmodule\dppclientmodule\cryptography.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\dppclientmodule\dppclientmodule\cryptography.h(30): error C2365: 'sprintf' : redefinition; previous definition was 'function'
1> c:\program files\microsoft visual studio 11.0\vc\include\stdio.h(357) : see declaration of 'sprintf'
1>d:\dppclientmodule\dppclientmodule\cryptography.h(30): error C2078: too many initializers
1>d:\dppclientmodule\dppclientmodule\cryptography.h(31): error C2059: syntax error : 'if'
1>d:\dppclientmodule\dppclientmodule\cryptography.h(31): error C2143: syntax error : missing ';' before '{'
1>d:\dppclientmodule\dppclientmodule\cryptography.h(31): error C2447: '{' : missing function header (old-style formal list?)
Может кто-то помочь мне понять, что это происходит?
В дополнение к этому файлу я добавил <cstdio>
.
Вам не удалось использовать этот макрос в области файлов? – molbdnilo
@molbdnilo Извините, что вы имеете в виду? Этот макрос также используется в других файлах cpp. Он компилировал штраф раньше (как я помню) .. не знаю, что я изменил :(что я получаю эти ошибки .. –
Как вы его используете? Ошибки выглядят точно так же, как вы бы получили, если бы вы написали этот код за пределами любой функции. (Например, строка 'sprintf' объявила бы переменную с отсутствующим типом и три инициализатора.) – molbdnilo