Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
1

Невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *"

25.12.2012, 19:55. Показов 6791. Ответов 33
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Писал программу. Дошел до наложения текстур. Пытаюсь наложить 4-й час. Много разных ошибок. Все ошибки гуглил. На данный момент ошибка такая:
невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *"
Гуглил эту ошибку, писали, что надо добавить "L", чтобы привести к нужному типу данных, но проблема в том, что эта ошибка выдается, когда "L" у меня уже есть, а если "L" нету, то выдаются совсем другой длинный список ошибок.

Код программы:
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include <time.h>
#include <Windows.h>
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include <cstdio>
#pragma comment (lib, "glaux.lib")
#pragma comment (lib,"glu32.lib")
#pragma comment (lib,"opengl32.lib")
int dir;
float gamer_x=0, gamer_y=0, gamer_z=0, mob_x=0, mob_y=0, mob_z=0;
GLuint gamingtxt, texture;
 
GLuint LoadBMP(const char *fmt, ...)
{
    GLuint t;
    char filename[256];
    va_list ap;
    va_start(ap, fmt);
    vsprintf_s(filename, fmt, ap);
    va_end(ap);
 
    AUX_RGBImageRec *texture = auxDIBImageLoadA(filename);
    glGenTextures(1, &t);
    glBindTexture(GL_TEXTURE_2D, t);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture->sizeX, texture->sizeY, 0,
    GL_RGB, GL_UNSIGNED_BYTE, texture->data);
    
    return t;    
}
 
void display(void) { 
glClear (GL_COLOR_BUFFER_BIT);
 
/* Игрок */ 
glColor3f (1.0, 1.0, 1.0); 
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, gamingtxt);
glBegin(GL_POLYGON); 
glTexCoord2d(0, 0); glVertex3f (gamer_x, gamer_y, gamer_z + 0.0); 
glTexCoord2d(1, 0); glVertex3f (gamer_x + 0.03, gamer_y, gamer_z + 0.0); 
glTexCoord2d(1, 1); glVertex3f (gamer_x + 0.03, gamer_y + 0.03, gamer_z + 0.0); 
glTexCoord2d(0, 1); glVertex3f (gamer_x, gamer_y + 0.03, gamer_z + 0.0);
glEnd();
 
/* Противники */
 
glColor3f (0.0, 0.0, 0.0); 
glBegin(GL_POLYGON); 
glVertex3f (mob_x + 0.22, mob_y + 0.22, mob_z + 0.0); 
glVertex3f (mob_x + 0.25, mob_y + 0.22, mob_z + 0.0); 
glVertex3f (mob_x + 0.25, mob_y + 0.25, mob_z + 0.0); 
glVertex3f (mob_x + 0.22, mob_y + 0.25, mob_z + 0.0);
glEnd();
glutSwapBuffers();
} 
 
/* Движение мобов */
void MobMotion(){
    int RandomNumber = rand()%4;
    switch(RandomNumber)
    {
        case 0 :  mob_x-=0.01; break;
        case 1 :  mob_y+=0.01; break;
        case 2 :  mob_x+=0.01; break;        
        case 3 :  mob_y-=0.01; break;
    }
}
 
/* Ограничение перемещения размерами экрана */
void Screen(){
    if(gamer_x>0.97){
            gamer_x = 0.97;
            }
    if(gamer_x<-1){
            gamer_x = -1;
            }
    if(gamer_y>0.97){
            gamer_y = 0.97;
            }
    if(gamer_y<-1){
            gamer_y = -1;
            }
    if(mob_x>0.97){
            mob_x = 0.97;
            }
    if(mob_x<-1){
            mob_x = -1;
            }
    if(mob_y>0.97){
            mob_y = 0.97;
            }
    if(mob_y<-1){
            mob_y = -1;
            }
            
}
 
/* Функция времени */
void Timer(int){
    display();  
    MobMotion();
    Screen();
    glutTimerFunc(0.001, Timer, 0);
}
 
/* Функция считывания нажатия клавиш и перемещения игрока */
void KeyboardEvent(int key, int a, int b)
{   
    switch(key)
    {
        case 100 :  gamer_x-=0.01; break;
        case 101 :  gamer_y+=0.01; break;
        case 102:   gamer_x+=0.01; break;        
        case 103 :  gamer_y-=0.01; break;
    }
}
 
/* Определим параметры окна */ 
int main(int argc, char** argv) 
{ 
glutInit(&argc, argv); 
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); 
glutInitWindowSize (800, 800); 
glutInitWindowPosition (100, 100); 
glutCreateWindow ("Game v0.1"); 
glClearColor (0.0,0.4,0.0,0.0); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
gamingtxt = LoadBMP(L"texture.bmp");
glutDisplayFunc(display); 
glutTimerFunc(0.001, Timer, 0);
glutSpecialFunc(KeyboardEvent);
glutMainLoop(); 
return 0;
}
Прошу помощи.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2012, 19:55
Ответы с готовыми решениями:

Невозможно преобразовать параметр 1 из 'const char [15]' в 'LPCWSTR'
с сайта скачала прогу которая должна рисовать сферу, но при компилировании выходит ошибка:error...

Невозможно преобразовать параметр из int в const char
Приветствую, помогите пожалуйста исправить следующую ошибку: printf: невозможно преобразовать...

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *'
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void...

Printf: невозможно преобразовать параметр 1 из 'char' в 'const char *'
Здравствуйте, подскажите как исправить? &quot;printf: невозможно преобразовать параметр 1 из 'char' в...

Fopen: невозможно преобразовать параметр 1 из 'LPWSTR' в 'const char *'
#include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include&lt;cstdio&gt; #include&lt;io.h&gt; int APIENTRY...

33
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.12.2012, 20:08 2
florgas, какая кодировка файла с кодом?
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
25.12.2012, 20:30  [ТС] 3
programina, в свойствах проекта стоит "Use Unicode Character Set". Так же пробовал "Use Multi-Byte Character Set", результат остался без изменений.

Добавлено через 9 минут
В папке "lib" не могу найти библиотеки "opengl32.lib" и "glu32.lib", но при компиляции про них ничего не сказано. Может этот как-то влияет?
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.12.2012, 20:31 4
Цитата Сообщение от florgas Посмотреть сообщение
"Use Unicode Character Set". Так же пробовал "Use Multi-Byte Character Set"
я в этих параметрах от VS ничего не понимаю, т.к. не пользуюсь ею. А попробуйте открыть свой код с помощью блокнота и нажмите "Сохранить как...", посмотрите в какой кодировке файл сохраняется по-умолчанию.
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
25.12.2012, 20:37  [ТС] 5
Цитата Сообщение от programina Посмотреть сообщение
я в этих параметрах от VS ничего не понимаю, т.к. не пользуюсь ею. А попробуйте открыть свой код с помощью блокнота и нажмите "Сохранить как...", посмотрите в какой кодировке файл сохраняется по-умолчанию.
Если я сделал все правильно, то ANSI, но я сомневаюсь, что я сделал все правильно.
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.12.2012, 20:43 6
Цитата Сообщение от florgas Посмотреть сообщение
Если я сделал все правильно, то ANSI, но я сомневаюсь, что я сделал все правильно.
Это ?
Невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *"
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
25.12.2012, 20:46  [ТС] 7
programina, оно самое
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.12.2012, 20:57 8
Цитата Сообщение от florgas Посмотреть сообщение
programina, оно самое
Не пробовали сохранить свой файл в Юникоде?
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
25.12.2012, 21:01  [ТС] 9
Сделал. Теперь Юникод. Эффекта 0.
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.12.2012, 21:23 10
Цитата Сообщение от florgas Посмотреть сообщение
Сделал. Теперь Юникод. Эффекта 0
Вобщем у тебя вопрос опенгла не касается, тебе нужно было сразу зайти в раздел https://www.cyberforum.ru/visual-cpp/
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
25.12.2012, 21:30  [ТС] 11
Цитата Сообщение от programina Посмотреть сообщение
Вобщем у тебя вопрос опенгла не касается, тебе нужно было сразу зайти в раздел https://www.cyberforum.ru/visual-cpp/
Предлагаешь сейчас создать дубликат темы там что ли?)
Модераторы, перенесите пожалуйста тему.
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
26.12.2012, 06:05 12
Цитата Сообщение от florgas Посмотреть сообщение
Модераторы, перенесите пожалуйста тему
Ага так они зайдут в раздел опенгл и перенесут твою тему, скорее уж конец света случится, просто создавай там тему, а эту они когда заметят дубль, тогда удалят и еще: когда создашь в том разделе новую тему, если хочешь помочь модераторам поскорее удалить дубль, то можешь добавить просьбу, чтобы удалили дубль в разделе опенгл, а не наоборот, а у них иногда бывают такие глюки и могут удалить твою новую тему вместо старой.
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
26.12.2012, 11:06  [ТС] 13
Окей. Так и сделаю
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
26.12.2012, 18:52 14
Цитата Сообщение от florgas Посмотреть сообщение
gamingtxt = LoadBMP(L"texture.bmp");
Прототип LoadBMP можете выложить?
0
magirus
26.12.2012, 18:53
  #15
 Комментарий администратора 
programina, не стоит давать советов, нарушающих правила форума.
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
26.12.2012, 19:17 16

Не по теме:

florgas, ну, вот видишь, твою тему заметили:-[

Цитата Сообщение от magirus Посмотреть сообщение
programina, не стоит давать советов, нарушающих правила форума.
"Aye aye, commander" :)



Добавлено через 6 минут
По-моему там нужно убрать букву L и перевести все в Unicode, а вообще втопку эту вижуал студию
0
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366
26.12.2012, 20:53  [ТС] 17
Если убрать "L" появляется куда других ошибок.
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
26.12.2012, 20:57 18
Цитата Сообщение от florgas Посмотреть сообщение
Если убрать "L" появляется куда других ошибок
Какие, можешь выложить?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.12.2012, 21:01 19
Цитата Сообщение от florgas Посмотреть сообщение
невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *"
В какой строке ошибка то ?

Добавлено через 1 минуту
Полагаю в этой
C++
1
gamingtxt = LoadBMP(L"texture.bmp");
Убери L

Добавлено через 42 секунды
C++
1
GLuint LoadBMP(const char *fmt, ...)
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
26.12.2012, 21:01 20
Avazart, очевидно, что 132
0
26.12.2012, 21:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2012, 21:01
Помогаю со студенческими работами здесь

Невозможно преобразовать параметр 1 из 'char' в 'const char *'
Дана задача: Задана последовательность, состоящая только из символов ‘&gt;’, ‘&lt;’ и ‘-‘. Требуется...

Ошибка компиляции "невозможно преобразовать параметр 1 из 'WCHAR [256]' в 'const char *'"
Я решил попробовать написать свой чит для кс го (для просмотра сквозь стены) и через 3 дня...

Ошибка: Cannot convert 'char const[18]' to 'const wchar_t *'
Unit1.cpp(59): E2034 Cannot convert 'char const' to 'const wchar_t *' Full parser context ...

Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"
Вроде все правильно а все равно не работает. Подскажите в чем ошибка #include &lt;iostream&gt; ...

Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *"
string s = &quot;555 44 55 66&quot;;//размер строки заранее неизвестен char* p =...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru