Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> va_end: лажа с юникодом 
V
    Опции темы
Alca
Дата 8.11.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 7
Всего: 50



VC++ 2008
Код

error C2440: '=' : cannot convert from 'va_list' to 'LPCTSTR'    d:\...\source\cxstring.cpp    566

Код

#ifdef  _UNICODE
    #define tstring        std::wstring 
#else   
    #define tstring        std::string 
#endif  /*_UNICODE*/

Код
tstring sFormatStrTest(LPCTSTR pcszFormat, ...) {       
    /*DEBUG*/XASSERT_RET(NULL     != pcszFormat,  _T(""));        
    /*DEBUG*/XASSERT_RET(_T('\0') != *pcszFormat, _T("")); 

    tstring sBuff(128, _T('\0'));
    INT     iWrittenSize = - 1;

    va_list palArgs = NULL;
    va_start(palArgs, pcszFormat);

    for (;;) {
        iWrittenSize = _vsntprintf(&sBuff[0], sBuff.size(), pcszFormat, palArgs);    
        /*DEBUG*/XASSERT_RET(NULL != palArgs, _T("")); 

        if (iWrittenSize > - 1 && iWrittenSize < (INT)sBuff.size()) {    
            break; 
        }
        sBuff.resize(sBuff.size() * 2);
    }

    //TODO: va_end 
    //Error    1    error C2440: '=' : cannot convert from 'va_list' to 'LPCTSTR'    d:\...\source\cxstring.cpp    566
    va_end(pcszFormat); 

    return tstring(sBuff.begin(), sBuff.begin() + iWrittenSize);
}


Это сообщение отредактировал(а) Alca - 8.11.2009, 16:12


--------------------
PM WWW ICQ Skype Jabber   Вверх
smoke_man
Дата 9.11.2009, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 1
Всего: 17



А разве не так должно быть:
Код

va_end(palArgs);



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Alca
Дата 9.11.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 7
Всего: 50



smoke_man,  спасибо smile!  Это все злой копипаст....  smile 


--------------------
PM WWW ICQ Skype Jabber   Вверх
smoke_man
Дата 9.11.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 1
Всего: 17



 smile  бывает! Не за что!


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0782 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.