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

Выбор шаблонного варианта для аргумента-массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поток не сигнализирует событием о своем окончании http://www.cyberforum.ru/cpp/thread1272738.html
Всем привет, нужна помощь задача такая. Есть метод у меня (mnThread) который постоянно поставляет данные, процедура (get_data) эти данные получает. Как только данные получены я устанавливаю событие и по идее должен перейти к другому методу по обработке данных.. Но что-то идёт не так.. максимум попадаю я в метод обработки (process) только один раз, почему пока не понимаю... ниже код static int...
C++ Не могу понять как исправить ошибку #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; const int n = 10; class Library http://www.cyberforum.ru/cpp/thread1272081.html
Помогите построить факториал в MFC C++
Помогите построить факториал в MFC. Целый день капаюсь в уроках, но так ничего не вышло Добавлено через 2 часа 59 минут делаю по примеру http://kvodo.ru/visual-c-mfc-osnovnyie-printsipyi-razrabotki.html и останавливась там где код функции ввести. Когда его ввожу и запускаю, кнопка все равно пишет "бла бла бла" а не результат
C++ Как "засунуть" классы в .dll ?
Добрый вечер! У меня имеется классовая иерархия, базовый класс сотрудник, наследники программист, экономист, электронщик и т.п. Сделал базу данных с помощью (vector.h) , и в main заполняю БД, и потом работаю с ней ( вывожу на экран нужные поля, сортирую так, сортирую эдак ). По заданию мне надо "Описание классов реализовать в Classes.dll, непосредственно сам список в Base.dll. Вызовы в...
C++ Информация по Button, Panel, Label, TextBox в VS2010 http://www.cyberforum.ru/cpp/thread1270298.html
Среда visual c++ 2010 для работы с графическим интерфейсом. Компоненты среды программирования(свойства,события,методы,пример использования) Button, Panel, Label, TextBox. Заранее спасибо за ответ.
C++ Уничтожение файлов и папок, без возможности восстановления Здравствуйте! Собственно это моё задание "Написать windows-приложение для гарантированного удаления файлов(каталогов) без возможности восстановления специализированным ПО". Нашла на википедии информацию по алгоритмам уничтожения: Википедия: "Уничтожение данных" 1.Вопрос собственно в реализации: с чего начать. 2.И может есть у кого какая-нибудь ещё полезная литература на эту тему? 3.Так же... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6421 / 3060 / 303
Регистрация: 04.12.2011
Сообщений: 8,342
Записей в блоге: 3
12.10.2014, 00:11     Выбор шаблонного варианта для аргумента-массива
Цитата Сообщение от DrOffset Посмотреть сообщение
IGPIGP, у тебя в самом начале рассуждений ошибка, которая и завела тебя в тупик.
Возможно. Давай поговорим:
Цитата Сообщение от DrOffset Посмотреть сообщение
никто не утверждал, что будет преобразование к ссылке на тип. Я писал:
Цитата Сообщение от DrOffset Посмотреть сообщение
T разрешится в ссылку на массив
Я понимаю, что объявление в коде и в формальных параметрах имеет совершенно разный смысл:
C++
1
2
3
4
int a=123;
int &ref_a=a;//объявлен псевдоним для a без создания переменной
//а тут:
void foo( int &a);//грубо говоря, функция ожидает имя переменной с типом: всё что неявно преобразуемо к int
Но синтаксически они: int &var_name, то есть идентичны. Я не большой знаток и нигде не видел, чтобы писалось, что такая идентичность, - закон, но думал, что так и есть. Разубеди меня.
Ссылка на массив это же не ссылка на тип (элементов массива). То что массив это не тип"недотип", а именно массив (элементов)типа, предлагаю, тут не затрагивать. Достаточно того, что ни внутренне ни внешне эти ссылки не имеют ничего общего:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//переменная типа int
int b=123;
 
//ссылка на int 
int &a = b;//псевдоним b
 
//функция объявляет формальный параметр - ссылка int
void foo(int &c);//сюда можно передать и a и b
 
 
//массив тип/ов/а int
int a[3] = {1, 2, 3};
 
//ссылка на имя массива a
int (&ref_arr_a)[3] = a;
 
//синтаксически от объявления void foo(int &c); тоже отличается и тоже сходно с прямым объявлением переменной- ссылки:   
void foo(int (&ref_arr)[3]); //функция ожидает массив int из 3 элементов по ссылке
В чём же логическая ошибка. И у кого?
зы: робко предполагаю, что компилятор который допускает преобразование массива к ссылке T& не должен бы этого делать.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru