Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
khelpnite
0 / 0 / 0
Регистрация: 02.05.2014
Сообщений: 2
#1

Указатели функции, присвоение значения константе - C++

02.05.2014, 09:33. Просмотров 646. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
void conv(char const *s);
 
int main()
{
char d = '5';
conv(&d);
cout<<d;
cin.get();
}
 
void conv(char const *s)
{
    char f='8';
    *s=f;       // s не присваивает в себя адрес f а только значение (иначе это было бы &s=f;)
}
Этим кодом я хотел чтоб произошел вывод числа 8. но компилятор пишет - error C3892: s: невозможно присваивать значения переменной, которая объявлена как константа. Константой объявлена не переменная, а адрес указателя
void conv(char const *s) означает что значение переменной можно изменить, адрес нельзя, но я же все так сделал.
при вызове функции
1) указатель s присваивает в себя адрес переменной d.
2) в d (которая имеет значение '5')присваивается значение переменной f('8')

Почему не получается?

Или указатель s уже до того как присвоить в себя адрес переменной d, автоматически, присвоил адрес любой ячейки, и сохранил в себя?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2014, 09:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели функции, присвоение значения константе (C++):

Указатели и классы: присвоение значения элементу массива, который является полем класса - C++
Доброго времени суток, делал задание, где надо создать класс, полем которого будет массив указателей на другие массивы и перегрузить...

Присвоение значения переменной из функции - C++
Доброго времени суток!!! Например в Pascal можно так: procedure myinc(var a:integer); begin a:=a+1; end; begin ...

присвоение значения - C++
Здравствуйте! можно ли каким-нибудь образом присвоить значению int значение char? К примеру: у меня есть массив типа int, нужно найти...

Присвоение значения указателю - C++
Как можно, вот так, присваивать указателю значение? Разве, указатель не должен всегда содержать адрес? const char* szString =...

Указатели и массивы. Указатели и функции - C++
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо написать функцию Compress() с использованием указателей, которая...

Указатели на массивы. Указатели и функции - C++
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать: -Элементы обоих массивов; -Общие...

2
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
02.05.2014, 10:56 #2
khelpnite, я не очень хорошо понял ваши намерения, но разве char &s вам не подойдет?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
02.05.2014, 11:00 #3
Цитата Сообщение от khelpnite Посмотреть сообщение
Почему не получается?
квалификатор const уберите

Добавлено через 1 минуту
Цитата Сообщение от khelpnite Посмотреть сообщение
адрес нельзя
адрес и так нельзя будет изменить, потому что с копией указателя работаете в функции
Цитата Сообщение от khelpnite Посмотреть сообщение
void conv(char const *s) означает что значение переменной можно изменить
это указатель на константу, значит значение по содержащемуся адресу изменить нельзя.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2014, 11:00
Привет! Вот еще темы с ответами:

Присвоение числу текстового значения - C++
Всем привет! В моей программе требуется сделать кодировку. Есть небольшой массив чисел, который выводится: 111 112 113 Как...

Присвоение значения элементов в матрице - C++
Помогите пожалуйста с программой на С++. Каждому элементу исходной матрицы а(i,j) присвоить значение минимального элемента среди элементов...

Присвоение значения указателю на функцию - C++
Есть укзатель на функцию. Есть перегруженная функция. как присвоить указателю нужный нам вариант этой перегруженной функции?

Присвоение значения к каждой строке - C++
Всем привет! Люди тут умные думаю вам не составит труда проделать следующее. Вот код #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...


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

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

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