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

переменная типа указатель на int передается по значению? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ вывод строки по заданному слову http://www.cyberforum.ru/cpp-beginners/thread244123.html
Доброго всем времени суток! Я только начинаю изучать с++ и мне очень нужна помощь.. кому не сложно помогите пожалуйста... Собственно суть вопроса в следующем: Считать текст из файла и вывести на экран только предложения, содержащие введенное с клавиатуры слово. Вот то что пока у меня получилось. Я только нахожу количество слов, а вот вывести все предложение содержащее это слово не...
C++ Передать сообщение объекту Немогу разобраться с передачей сообщений объекту помогите напримере задачи: создать обьект на базе класса "студент" при создании обьекта вывести сообщение с фамилией и именем которые ему передаются в сообщении. Или посоветуйте какую-нибуть литературу по ООП где это будет разобрано на примерах. http://www.cyberforum.ru/cpp-beginners/thread244116.html
дачники C++
http://********/?main=task&id_task=12 Люди, подскажите,пожалуйста ,каким методом эту задачу решить можно?А то я решил, но у меня на 1500 символов кода, это ж...
не могу разобраться с кодом.. что бы построить блок схему C++
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; void main() { int a, b, n, first, k, i; bool simp;
C++ Error C2679: binary '>>': no operator found which takes a right-hand operand of type http://www.cyberforum.ru/cpp-beginners/thread244086.html
нужно написать программу обработки структур. в программе использовать структуру, содержащую поля с информацией об учащихся: - фамилия и инициалы; - дата рождения; - номер группы; - оценки за семестр по предметам: физика, математика, информатика, этика, психология. организовать ввод исходных данных, средний балл каждого учащегося рассчить по введенным оценкам. так же вывести анкетные данные...
C++ разбить метод class ar { int *ix,in; public: void task1(); .................... ........................ }; есть файл, где объявлен класс ar.h. его реализация в ar.cpp . подробнее

Показать сообщение отдельно
OMGHero
2 / 2 / 0
Регистрация: 16.02.2011
Сообщений: 36
17.02.2011, 10:25     переменная типа указатель на int передается по значению?
Всем привет!
Изучая С++ возник такой вопрос.
Как сделать так чтобы передавая указатель на массив в функцию я мог менять не только массив но и указатель на него? (не спрашивайте зачем мне это нужно, просто разбираюсь как все устроено)
Вот кусочек простенького кода. Просто записывем данные в масси и считываем из него.
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
const int MAX = 3;
void setArray (int*);
void printArray (int*);
void main ()
{
    int arr[MAX];
    int* p = arr;
    setArray(p);
    printArray(p);
    int a;
    cin >> a;
}
 
void setArray (int* p)
{
    for (int i = 0; i < MAX; i++)
        cout << "Enter value for element " << i << " : "; cin >> *(p++);
}
 
void printArray (int* p)
{
    for (int i = 0; i < MAX; i++)
        cout << "arr[" << i << "] = " << *(p + i) << endl;
}
Я думал что операция p++ в функции setArray изменит сам указатель тоже, и когда я буду вызывать
функцию printArray она мне выдасть мусор. Но программа работает правильно. Значит указатель на массив передается по значению.
Если я пишу вот это
C++
1
2
void setArray (int*& p)
{...}
То компилятор ругается, "more than one instances of overloaded function "setArray" matches the argument list".
В итоге 2 вопроса:
Как передать в функцию указатель на массив, что бы я мог менять указатель на массив тоже?
Поясните, пожалуйста, почему компилятор видит более чем одну "перегрузку" функции? Где неоднозначность?
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru