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

Почему не срабатывает специализация шаблона? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вызов конструктора для this в констукторе копирования http://www.cyberforum.ru/cpp-beginners/thread347675.html
Мое почтение, уважаемые! Подскажите, пожалуйста, как вызвать конструктор для this в констукторе копирования: template<class Data> List<Data>::List(const List& list) { List(); //why do not working for this? this->List(); //error C2273: 'function-style cast' : illegal as right side of '->' operator } Спасибо! :)
C++ программа завершается аварийно запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо вернуться на главное, но не пашет, вылезает ошибка - прекращена работа программы. в чем может быть дело? исключения не могу пока написать в код, ибо не позволяют, а до этого все норм было, добавил в условие еще одно и кажется усё. заранее признателен http://www.cyberforum.ru/cpp-beginners/thread347654.html
C++ операция <<::>>
имею код char Car::*Get_Marka(){ return marka ; } char Car::*Get_Color() { return color ; } bool Car::Get_Rastamojena() { return rastamojana ; } float Car::Get_Obyom_Dvigatelya() { return obyom_dvigatela ; } Первые 2 строки не работают компилятор говорит что потерял marka и color, хотя они есть в подключенном хедере вместе с rastamojana и obyom_dvigatela... скорее всего я не...
Помогите переписать C++
Есть пример на Delphi: data:='строка'; IdHTTP1.Get('Ссылка'+data); А как будет выглядеть на c++? Можно с WinAPI.
C++ std::cin http://www.cyberforum.ru/cpp-beginners/thread347606.html
const int MAX = 256; int main() { char buf; std::cout<<(std::cin>>buf); return 0; } Я в консоли вижу странный вывод и не пойму что это есть такое? Что возвращает выражение скобках? Где найти детальную информацию про работу с объектом cin?
C++ CDocument::OnSaveDocument указать фильтр для диалогового окна сохранения файла Добрый день Создал класс наследуемый от CDocument и в нем переопределяется виртуальная функция OnSaveDocument. Пробовал трассировать, она исполняется уже после того как появилось диалоговое окно сохранения файла и уже выбран этот файл. И в нее передается уже полный путь к файлу. Как в этом диалоговом окне указать фильтр. Заранее спасибо! подробнее

Показать сообщение отдельно
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
03.09.2011, 21:50     Почему не срабатывает специализация шаблона?
И правильно делает. st_p это просто синоним st, с точно такими же свойствами. Единственный известный мне способ, заставить шаблонную функцию принимать переменные по ссылке (если ссылка не указана явно в прототипе) это явно указать аргумент шаблона, то есть funk3<box&>()

Добавлено через 10 минут
В качестве примера, можно рассмотреть такой код:
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
25
26
#include <iostream>
 
template <typename T>
T f(T x)
{
    ++x;
    return x;
}
 
using namespace std;
 
int main()
{
    int a = 5;
    int &b = a;
    cout << f(a) << endl;
    cout << "a = " << a << endl;
 
    cout << f(b) << endl;
    cout << "a = " << a << endl;
    
    cout << f<int&>(a) << endl;
    cout << "a = " << a << endl;
 
    return 0;
}
Меня бы очень удивило, если бы после вызова f(b) изменилась бы переменная a. Ведь это b является ссылкой на a, а не x.
 
Текущее время: 20:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru