Форум программистов, компьютерный форум 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. Пробовал трассировать, она исполняется уже после того как появилось диалоговое окно сохранения файла и уже выбран этот файл. И в нее передается уже полный путь к файлу. Как в этом диалоговом окне указать фильтр. Заранее спасибо! подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.09.2011, 09:48     Почему не срабатывает специализация шаблона?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <clocale>
using namespace std;
struct box
{
    char mak[40];
    float m;
    float n;
    float y;
    float z;
};
template <class any> any funk3(any x, any y);// Шаблон.
template <> box& funk3<box&>(box &x, box &y);// Специализация.
int main()
{   
    setlocale(0, "");
    box st = 
    {
        "12345",
        1.1f,
        2.2f,
        3.3f,
        4.4f
    };
    box st2 = 
    {
        "12345",
        1.2f,
        2.3f,
        3.4f,
        4.5f
    };
    int a = 3, b = 4;
    cout << "Первый вызов  " << funk3(a, b) << endl;
    box st3;
    st3 = funk3(st, st2);
    cout << "Второй вызов  " << st3.z << endl;
    system ("pause");
    return 0;
}        
template <class any> any funk3(any x, any y)
{
    any z = x;
    cout << "Шаблон" << endl;
    return z;
}
template <> box& funk3<box&>(box &x, box &y)
{
    cout << "Специализация" << endl;
    return y;
}
Подскажите, пожалуйста, почему не срабатывает специализация при втором вызове функции funk3? Если специализацию переписать как: template <> box funk3<box>(box x, box y), то срабатывает.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru