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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
pi_X_el
Заблокирован
#1

Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" - C++

25.03.2013, 18:48. Просмотров 1104. Ответов 7
Метки нет (Все метки)

Вроде все правильно а все равно не работает. Подскажите в чем ошибка

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
template<typename T>
inline const T &Max(const T &a, const T &b)     { return (a < b) ? b : a; }
 
int main()
{
    std::cout << Max("apple", "peach") << std::endl;
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 18:48     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"
Посмотрите здесь:

C++ Невозможно преобразовать "const char" в "char"
Ошибка при компиляции "Cannot convert `std::string' to `const char*" C++
C++ Преобразовать параметр из "WCHAR [260]" в "const char *"
C++ invalid conversion from "const char*" to "char"
C++ error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall KDocument::Open(char const *)" в функции _WinMain@16
C++ IntelliSense: несовместимые типы операндов ("char" и "const char *")
"const char" в "int" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
25.03.2013, 18:54     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #2
C++
1
inline const  T* Max(const T *a, const T *b)
pi_X_el
Заблокирован
25.03.2013, 19:07  [ТС]     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #3
Цитата Сообщение от Vourhey Посмотреть сообщение
inline const T* Max(const T *a, const T *b)
Понимаете, в книге сделано именно через ссылки а не через указатели.
Миниатюры
Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"  
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,911
Завершенные тесты: 1
25.03.2013, 19:12     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #4
Работает. Даже результат выводит правильный, хотя это как раз случайность, потому что сравнивается не содержимое строк, а их адреса.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12535 / 7097 / 797
Регистрация: 27.09.2012
Сообщений: 17,510
Записей в блоге: 2
Завершенные тесты: 1
25.03.2013, 19:18     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #5
Цитата Сообщение от pi_X_el Посмотреть сообщение
Подскажите в чем ошибка
В использовании Visual Studio?
pi_X_el
Заблокирован
25.03.2013, 19:21  [ТС]     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #6
Nick Alte, В Visual Studio не работает

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
В использовании Visual Studio?
Да, а почему так?
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
25.03.2013, 19:31     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #7
Цитата Сообщение от pi_X_el Посмотреть сообщение
Понимаете, в книге
В книге должно быть написано, каким компилятором пользовался автор.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 19:33     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"
Еще ссылки по теме:

C++ Error C2440 невозможно преобразовать "void *" в "char *
Из "const char" в "const char *" C++
Error C2440: =: невозможно преобразовать "void *" в "Node *" C++
C++ Невозможно преобразовать параметр 2 из "char" в "const char *"
C++ Несовместимые типы операндов "char" и "const char*"

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12535 / 7097 / 797
Регистрация: 27.09.2012
Сообщений: 17,510
Записей в блоге: 2
Завершенные тесты: 1
25.03.2013, 19:33     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" #8
Цитата Сообщение от pi_X_el Посмотреть сообщение
Да, а почему так?
Это у мелкософта спросите.
C++
1
std::cout << Max<char*>("apple", "peach") << std::endl;
Но, как уже Вам написали - такое сравнение не сравнивает строки.
Yandex
Объявления
25.03.2013, 19:33     Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"
Ответ Создать тему
Опции темы

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