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

при выходе из функции счетчик обнуляется - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка компиляции error C2447 http://www.cyberforum.ru/cpp-beginners/thread44469.html
Здравствуйте! Помогите плиз разобратся с проблемой при компиляции...суть такова, примеры из книги по которой учу С++, сначало пользовался VS C++ Express 2005/2008,консольные примеры нормально компилировались, но в экспресс нет возможности проэктов не консольных...поставил VS 2008, теперь даже те примеры которые выполнялись в консоли вылетают с ошибкой : C:\Program Files\Microsoft Visual Studio...
C++ Матрица Доброго времени суток.Написать надо на С.В прошлый раз помогли с ней же,но токо написана была на С++.Очень прошу помочь с прогой ! Дана действительная матрица NxM.Получить последовательность b1,...,b(n), где b(k)-это число отрицательных элементов в k-й строке http://www.cyberforum.ru/cpp-beginners/thread44441.html
C++ Блок-схема
Учусь правильно строить блок-схемы, сейчас составил одну на примере простенькой задачи: В многомерном массиве размером 5х6 найти сумму элементов каждого рядка. Полученный массив отсортировать по возрастанию. void main() { int matr, sum; int i,j,su,t; cout<<"Vvedi znachenie matrici: \n"; for (i=0; i<5; i++) for (j=0; j<6; j++) cin>>matr;
Удалить символ в начале очереди C++
Мне нужно удалить символ,который повторется в начале списка,причем она должен выступать параметром. То есть если у нас есть такая очередь: "ааааапораправолпрло",тогда должна удалиться буква "а",если такая очередь: "%%%%%%%а%%%%%ваыапываываыва",то должен удалиться символ '%' или если очередь такая "11111;1агырваы",то соответсвенно должна удалиться цифра 1.Как это сделать за один проход?Легко...
C++ Как написать прогу чтобы отправить бесплатный СМС http://www.cyberforum.ru/cpp-beginners/thread44422.html
Видел вконтакте флэш-приложение которое отправляет бесплатный смс.....а С++ в 1000 раз лучше флэша...если на флэш можно то и на С++ можно.... но это в том случае если разроботчик этого приложения не имеет каких то близких отношений с представителями моб операторов..
C++ Логическая ошибка в выводе или формировании 2Dмассива #include "stdafx.h" #include <windows.h> #include <iostream> #include <iomanip> #include <limits.h> using namespace std; int _tmain(int argc, _TCHAR* argv) { SetConsoleOutputCP(1251); подробнее

Показать сообщение отдельно
Etudiante
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
20.07.2009, 15:18  [ТС]
Цитата Сообщение от mamedovvms Посмотреть сообщение
а ты попробуй сделать так
C++
1
2
3
 BackwardLabeling(imageLabel, count1);
  cout << count1;
  ForwardLabeling(imageLabel, count1);
я почему то думаю что тебе не будет выведено что то кроме 0
ну так а я о чем говорю...

Добавлено через 1 минуту 51 секунду
[QUOTE=Patch;220434]Etudiante,
э-э-э-э...
мне помнится, что при объявлении вида
C++
1
void BackwardLabeling(PvMatrix::Matrix<double>& imageLabel, int count1)
переменная count1 является локальной.
само собой, при выходе из функции, ее изменения теряются.
чтобы значение сохранялось и при выходе из функции, нужно делать в объявлении указатель.

спасибо, сейчас проверю. Похоже, что проблема как раз в этом была. Это и объясняет, почему изменения в imageLabel сохраняется, я ведь передаю не матрицу а указатель на нее

Добавлено через 7 минут 24 секунды
работает....
только вместо
C++
1
void ForwardLabeling(PvMatrix::Matrix<double>& imageLabel, int* count1)
я сделала
C++
1
void ForwardLabeling(PvMatrix::Matrix<double>& imageLabel, int& count1)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru