Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Vlados117
1 / 1 / 0
Регистрация: 17.12.2014
Сообщений: 62
1

Ошибка с типом char

14.02.2017, 21:21. Просмотров 173. Ответов 1
Метки нет (Все метки)

При запуске выдает ошибки связанные с char. На другой версии visual все работало сразу. Не понимаю как исправить их. Ошибки выделены в коде. Помогите плез.

1>c:\documents\visual studio 2010\projects\os\os\lab1.cpp(27): error C2440: =: невозможно преобразовать "char [12]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\documents\visual studio 2010\projects\os\os\lab1.cpp(44): error C2664: CreateWindowExW: невозможно преобразовать параметр 2 из "char [12]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\documents\visual studio 2010\projects\os\os\lab1.cpp(75): error C2664: TextOutW: невозможно преобразовать параметр 4 из "char [27]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include<windows.h>
LRESULT CALLBACK WndProc1(HWND, UINT, WPARAM, LPARAM);
/*объявляем заголовок оконной функции, т.к. ссылка на нее используется в функции WinMain при регистрации класса окна*/
static char szDevName[] = "qwerty";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
  static char szAppName[] = "qwerty";
  HWND hwnd; // описатель окна
  MSG msg;  // структура для хранения сообщения
  WNDCLASSEX wndclass;  // структура класса окна
 
  // задаем параметры класса окна
  wndclass.cbSize = sizeof(wndclass); /* размер структуры*/
  wndclass.style = CS_VREDRAW; //указываем, что перерисовывается ширина и высота окна
/* указатель на оконную функцию, обрабатывающую сообщения*/
  wndclass.lpfnWndProc = WndProc1;
  wndclass.cbClsExtra = 0; /* не резервируем допол-нительное пространство в структуре класса и структуре окна*/
  wndclass.cbWndExtra = 0;
  wndclass.hInstance = hInstance; /*описатель экземпляра программы/*
/* используем в качестве значка приложения стандартную иконку */
  wndclass.hIcon = LoadIcon(NULL, IDI_HAND); //иконка по заданию
  wndclass.hCursor = LoadCursor(NULL, IDC_SIZEALL); //курсор по заданию
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); // белыйфон
wndclass.lpszMenuName = NULL; // меню отсутствует
 
  // название класса окна, объявлено выше
  /////////////////////////////////////////////////////////// ошибка =  значение типа char* нельзя присвоить сущности типа "LPCWSTR" 
  wndclass.lpszClassName = szAppName;
  wndclass.hIconSm = LoadIcon(NULL, IDI_HAND); /*маленькая иконка*/
  RegisterClassEx(&wndclass); /* регистрируем наш класс окна*/
 
    // создаем окно 
    ////////////////////////////////////////////////////////////////////////////// Ошибка CreateWindow аргумент типа char* несовместим с параметром типа "LPCWSTR"
    hwnd = CreateWindow(
    szAppName,  // название класса окна
    "qqqqqqqqqqqq", // заголовок окна
    WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_VISIBLE, //стиль окна(перекрывающееся, вертикальная прокрутка, видимое)
    200,  // Позиция окна x
    100,  // позиция по y
    200,  // ширина в пикселях (по заданию)
    450,  // высота (по заданию)
    NULL,   // родительского окна не существует
    NULL,   // меню отсутствует
    hInstance,  // описатель экземпляра программы
    NULL
  );
 
  ShowWindow(hwnd, SW_SHOW); // можно заменить идентификатор или закомментить исходное, т.к. видимое окно
  UpdateWindow(hwnd);         // перерисовываем
 
  // цикл обработки событий
  while(GetMessage(&msg, NULL, 0, 0))
  {
/* извлекаем сообщение из очереди, если это WM_QUIT, то цикл завершается*/
/* (получаем все сообщения от всех окон, созданных этой программой) */
    TranslateMessage(&msg);
/* передаем структуру msg обратно в Windows для преобразования какого-либо сообщения с клавиатуры*/
    DispatchMessage(&msg);
// также передает структуру msg обратно в Windows
  }
  return msg.wParam;
// поступило WM_QUIT - возвращаем wParam
}
// оконная функция, обработка сообщений
LRESULT CALLBACK WndProc1(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
  HDC hdc; /* описатель контекста устройства для рисования */
  PAINTSTRUCT ps; // структура для рисования
  RECT rect; /* прямоугольник, в котором будем рисовать */
switch(iMsg) {
  case WM_PAINT: /* обработка сообщения WM_PAINT (перерисовать) */
    hdc = BeginPaint(hwnd, &ps);
/* закрашиваем недействительный прямоугольник кистью фона, делаем его действительным и получаем описатель контекста устройства для рисования*/
SetTextAlign(hdc, TA_CENTER | TA_TOP);
/* устанавливаем положение базовой точки строки текста - сверху посередине*/
////////////////////////////////////////////////////////////////////////// szDevName аргумент типа char* несовместим с параметром типа "LPCWSTR"
    GetClientRect(hwnd, &rect);
  TextOut(hdc, rect.right/2, rect.bottom/2, szDevName, strlen(szDevName));
EndPaint(hwnd, &ps);/* освобождаем описатель контекста устройства*/
return 0;
  case WM_DESTROY: /* обработка запроса на завершение программы */
   PostQuitMessage(0);
/* помещаем в очередь сообщение WM_QUIT, чтобы завершить программу*/
return 0;
}
return DefWindowProc(hwnd, iMsg, wParam, lParam);
/* обрабатывает по умолчанию все сообщения, которые еще не были обработаны*/
}
Добавлено через 38 минут
Сама программа должна выводить окно с заданными параметрами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2017, 21:21
Ответы с готовыми решениями:

Преобразовать массив с типом char в массив с типом int
Что-то не получается у меня найти инфу именно с преобразованием массивов с char...

Работа с типом Char
Здравствуйте. У меня есть три переменные типа Char, размерность каждой...

Работа с типом char
Пожалуйста, помогите понять разницу между этими записями: char a; char...

Строки с типом char * в С++
Помогите написать программу по строкам c++ При написании программ ...

Действия над типом Char
Как узнать сколько содержит сиволов, пустая ли она, содержит ли одни буквы...

1
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,045
14.02.2017, 22:56 2
Или юникод, в свойствах проекта, отключи, или используй вместо char wchar_t (перед строковыми литералами тогда нужно ставить L).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2017, 22:56

Что делать с типом unsined char?
Задача: Создать класс Money для работы с денежными суммами. Число должно быть...

вывод слова на экран с типом char.
Помогите пожалуйста не могу решить программу... Дано слово. Вывести это слово...

Как перегрузить поле с типом Char
нужна перегрузка сложения в классе int o; char *gr; вот если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru