Форум программистов, компьютерный форум CyberForum.ru

Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' - C++

Восстановить пароль Регистрация
 
Konoval
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 7
29.03.2014, 11:29     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' #1
Здравствуйте, я хочу загрузить картинку с помощью OpenCV. Библиотека работает! Но как я уже не пытался, всё время появляется ошибка: ':' : no conversion from 'const char *' to '_TCHAR *'

Помогите!
Миниатюры
Ошибка С2446 no conversion from 'const char *' to '_TCHAR *'  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 11:29     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *'
Посмотрите здесь:

invalid conversion from ‘char’ to ‘const char*’ C++
C++ conversion from ‘char’ to ‘const char*’
invalid conversion from 'const char*' to 'char' C++
ошибка error C2446: '==' : no conversion from 'const char *' to 'int' C++
Ошибка invalid conversion from 'const char*' to 'char*' C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
29.03.2014, 12:09     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' #2
Везде где у вас строчки типа "строка" (в кавычках, я имел ввиду) используйте макрос _T("строка"). Вместо определения типа char* используйте тип TCHAR. Возможно, попросит подключить "tchar.h", если у вас в программе будут функции, которые нуждаются в макросе определения версии набора символов.
Konoval
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 7
29.03.2014, 12:37  [ТС]     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' #3
Спасибо, но не помогает.
DrOffset
6458 / 3832 / 885
Регистрация: 30.01.2014
Сообщений: 6,628
29.03.2014, 12:42     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' #4
Цитата Сообщение от Wlk Посмотреть сообщение
Везде где у вас строчки типа "строка" (в кавычках, я имел ввиду) используйте макрос _T("строка"). Вместо определения типа char* используйте тип TCHAR. Возможно, попросит подключить "tchar.h",
Ему это не поможет. Тернарный оператор требует чтобы типы аргументов были одинаковы c типом результата, либо автоматически приводимы к нему. О чем компилятор честно пишет. const char * не приводится к char * по правилам системы типов языка. Следовательно, чтобы исправить, надо написать так:
C++
1
    const char * filename = argc == 2 ? argv[1] : "G:\........";
DrOffset
6458 / 3832 / 885
Регистрация: 30.01.2014
Сообщений: 6,628
29.03.2014, 13:29     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' #5
Konoval, у тебя там еще ошибка в пути, слэши должны быть экранированы:
C++
1
"C:\\Program Files\\Test"
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
29.03.2014, 14:24     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' #6
Цитата Сообщение от DrOffset Посмотреть сообщение
слэши должны быть экранированы
Или можно использовать "сырые" строковые литералы (C++11):
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main() {
    
    std::cout << R"(C:\folder)" << std::endl;
 
    return 0;
}
http://ideone.com/0Ucs49

Не по теме:

ха. парсер кода на форуме еще не может в raw string

Yandex
Объявления
29.03.2014, 14:24     Ошибка С2446 no conversion from 'const char *' to '_TCHAR *'
Ответ Создать тему
Опции темы

Текущее время: 14:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru