Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 22.09.2017
Сообщений: 5
1

Error c2440: невозможно преобразовать 'const char [2]' в 'char'

22.09.2017, 06:26. Показов 3240. Ответов 4
Метки нет (Все метки)

С недавних пор я решил почитать и поучиться программировать, так сказать занять себя чем нибудь после работы.Ну и как вы поняли из названия темы я немного чайник(немного громко сказано но..)Как нормальные люди (или психи как я ) решил дескать почитать умных книжек, поисках на всяких форумах какие не будь книжки для отсталых как я и вот, не судите строго но сразу же ошибки понаделал(( (ах да у меня денег нету так что я пишу на Visual C++ 2008, так как нехочу менять винду с моей любимой ХР :3, странно ,но что поделать)
Вооооот есть такой кодик в книжечке :
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int score;
    double distance;
    char playAgain;
    bool shieldsUp;
    short lives, aliensKilled;
    score = 0;
    distance = 1200.76;
    playAgain = "y";// <--- проблема была тут
    shieldsUp = true;
    lives = 3;
    aliensKilled = 10;
    double engineTemp = 6572.89;
    cout << "\nscore: " << score << endl;
    cout << "distance : " << distance << endl;
    cout << "playAgain: " << playAgain << endl;
    cout << "lives : " << lives << endl;
    cout << " aliensKilled : " << aliensKilled << endl;
    cout << "engineTamp ; " << engineTemp << endl;
    int fuel;
    cout << "\nHow much fuel? " ;
    cin >> fuel;
    cout << "fuel: " << fuel << endl;
    typedef unsigned short int ushort;
    ushort bonus = 10;
    cout << "\nbonus: " << bonus <<endl;
    return 0;
}
и тут выдается ошибка :Error c2440: =:невозможно преобразовать 'const char [2]' в 'char'
Не существует контекста, в котором такое преобразование возможно..

Тут я подумал, ладно я "умный(диб*л)" но человек который писал этот код смыслит что либо но, не работает.Проблему то я решил но интересно что на фигня и как с этим бороться
решил типа так
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int score;
    double distance;
    //char playAgain;   <<- убрал тут
    bool shieldsUp;
    short lives, aliensKilled;
    score = 0;
    distance = 1200.76;
    const char playAgain[10] = "y";  // <-- поменял тут 
    shieldsUp = true;
    lives = 3;
    aliensKilled = 10;
    double engineTemp = 6572.89;
    cout << "\nscore: " << score << endl;
    cout << "distance : " << distance << endl;
    cout << "playAgain: " << playAgain << endl;
    cout << "lives : " << lives << endl;
    cout << " aliensKilled : " << aliensKilled << endl;
    cout << "engineTamp ; " << engineTemp << endl;
    int fuel;
    cout << "\nHow much fuel? " ;
    cin >> fuel;
    cout << "fuel: " << fuel << endl;
    typedef unsigned short int ushort;
    ushort bonus = 10;
    cout << "\nbonus: " << bonus <<endl;
    return 0;
}
и вроде все работает но чет у меня в мозгу жужжит и подсказывает что я "умный " мог сделать не то и не так.
Прошу отнестись с юмором , так как я "пытаюсь учиться" и не ругать меня сильно , позязя.
Заранее большое спасибо)))
Ах да, книга написана в 2012 году вроде
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2017, 06:26
Ответы с готовыми решениями:

error C2440: =: невозможно преобразовать 'const char *' в 'char *'
есть вот такой кусок кода int getLex(){ int i = iCurrPos; char strLex, * cp; int j; while...

Невозможно преобразовать параметр 2 из 'char' в 'const char *
Уважаемые господа программисты,как преобразовать тип переменной из 'char' в 'const char *'? ...

Ошибка 1 error C2664: CFileFind::FindFile: невозможно преобразовать параметр 1 из 'const char [7]' в 'LPCTSTR'
Нужно вывести на экран, в консольном режиме имена всех файлов, которые находятся в какой-то...

Невозможно преобразовать параметр 1 из 'const char [3]' в 'const wchar_t *
void CprojectDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: добавьте...

4
nd2
3419 / 2799 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
22.09.2017, 07:09 2
Цитата Сообщение от Flammenum Посмотреть сообщение
C++
1
playAgain = "y";// <--- проблема была тут
C++
1
playAgain = 'y';
Добавлено через 1 минуту
Цитата Сообщение от Flammenum Посмотреть сообщение
пишу на Visual C++ 2008, так как нехочу менять винду с моей любимой ХР
10-я студия на XP становится.
1
0 / 0 / 0
Регистрация: 22.09.2017
Сообщений: 5
22.09.2017, 07:11  [ТС] 3
вот спасибо я то думал все перерыл как обычно невнимателен
0
Модератор
Эксперт по электронике
8514 / 6329 / 857
Регистрация: 14.02.2011
Сообщений: 21,979
22.09.2017, 07:24 4
Цитата Сообщение от Flammenum Посмотреть сообщение
C++
1
playAgain = "y";// <--- проблема была тут
как уже указали
C++
1
playAgain = 'y';
с одними кавычками это символ
а с двойными строка
В СИ строка это массив символов с терминальным нулем на конце
соответственно и получаем
Цитата Сообщение от Flammenum Посмотреть сообщение
:Error c2440: =:невозможно преобразовать 'const char [2]' в 'char'
не может он из массива из двух элементов ( буква и терминальный 0) создать один символ

Не по теме:

Flammenum, и выделяй код тегами, удобней читать
написал код выделил и нажал кнопочку "C++" на шапке ответа

0
0 / 0 / 0
Регистрация: 22.09.2017
Сообщений: 5
22.09.2017, 07:26  [ТС] 5
ясно спасибо, я то сделал наоборот, нажал на с++ а потом написал.извините за неудобства и спасибо за информацию
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2017, 07:26

Невозможно преобразовать параметр из 'const char [7]' в 'LPCTSTR'
Здравствуйте! Я совсем недавно начал изучать С++. По большей степени ничего пока не знаю :- //...

WinAPI - Невозможно преобразовать параметр из 'const char [26]' в 'LPCWSTR'
Здравствуйте!! Начал немного изучать WinAPI!! и тут возникла проблемка &quot;Невозможно...

GetModuleHandle: невозможно преобразовать параметр 1 из 'const char [8]' в 'LPCWSTR'
всем привет)нарыл такую функцию для своей программы,но при компиляции компилятор ругается на...

Значение const char* нельзя присвоить типу char*
void hey(CandyBar&amp; lol, char* name, double* wes, int* kal) { if (name == NULL) name = &quot;Milasd&quot;; ...


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

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

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