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

Шаблонные функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не секу что такое gsoap и где его искать на win7 http://www.cyberforum.ru/cpp-beginners/thread1146045.html
Чур не ругаться за оффтоп, я впервые пользуюсь форумами! :) Итак, прилагаю файл с лабками, первую я уже сделал, осталась вторая, и на ней я застрял, так как совершенно не секу что такое gsoap и где его искать на win7. Кому несложно - сделайте пожалуйста мне вторую лабку, и объясните что к чему! Если можно - прокоментить все вплоть до подключаемых библиотек, типа кто зачем и откуда. (лабка в...
C++ Задача: найти трехзначное число х У трехзначном числе х зачеркнули его вторую цифру. Когда к образованному при этом двухзначному числу слева приписали вторую цифру числа х, то получилось число 546. Найти число х http://www.cyberforum.ru/cpp-beginners/thread1146003.html
C++ Исправить ошибки в структуре student
#include "stdafx.h" #include <iostream> #include <string> using namespace std; struct STUDENT { char name; int group; int marks;
C++ Определить класс с именем NOTE, содержащий указанные поля
Определить класс с именем NOTE, содержащий следующие поля: - фамилия, имя; - номер телефона; - день рождения (массив из трех чисел). 2. Написать методы, выполняющие следующие действия: - ввод с клавиатуры данных в массив, состоящий из восьми объектов типа NOTE; - вывод на экран информации о человеке, номер телефона которого введен с клавиатуры; если такого нет, выдать на дисплей...
C++ Входные данные. Метод Форда-Фалкерсона http://www.cyberforum.ru/cpp-beginners/thread1145991.html
Доброго времени суток! Есть код, который работает и справляется с основной задачей - нахождением максимального потока сети методом Форда-Фалкерсона. #include <iostream> #include <conio.h> #include <memory.h> #include <stdio.h> using namespace std; const int max_vershin = 40 ;// максимльное кол-во вершин
C++ Возврат ссылки int & function(int); Понятно для чего передают аргументы в функцию как указатели или ссылки.Но зачем функция возвращает ссылку? Чтобы сэкономить память и время? подробнее

Показать сообщение отдельно
KrekerOK
 Аватар для KrekerOK
57 / 57 / 15
Регистрация: 04.07.2013
Сообщений: 513
Завершенные тесты: 1
12.04.2014, 11:32     Шаблонные функции
Доброго времени суток. Есть шаблонная функция(двоичный сумматор прямого кода):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template <class T> void Main_register::badc(T *regist, T term)
{
    int count_bit = sizeof(term)*8;
    char remainder=0, s1, s2, masc;
    for (Int64 i=0;i<count_bit;i++)
    {
        s1 = *regist & Convert::ToInt64(1<<i)?1:0;
        s2 = term & Convert::ToInt64(1<<i)?1:0;
        if((s1+s2+remainder)%2!=0)
            *regist |= Convert::ToInt32(1<<i);
        else
        {
            masc ^= masc;
            masc |= Convert::ToInt64(1<<i);
            masc = ~masc;
            *regist &= masc;
        }
        if((s1+s2+remainder)>=2)
            remainder = 1;
        else
            remainder = 0;
    }
}
Это её вызов, где m_r - класс в котором описана функция(так работает):
C++
1
2
 int x = 10, y = 20;
 m_r->badc(&x,y);
Но, если я хочу передать в функцию те же х и у как char, то я вызываю так:
C++
1
2
 int x = 10, y = 20  
m_r->badc((char)(&x),(char)y);
Вот тут и появляется ошибка:
error C2784: void Main_register::badc(T *,T): не удалось вывести аргумент шаблон для "T *" из "char"
Что-то я толком не могу понять чего ему надо, подскажите пожалуйста кто знает.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru