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

Шаблоны, массивы.. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конструирование программ из нескольких файлов http://www.cyberforum.ru/cpp-beginners/thread113990.html
ребят мне по зарез надо сделать эту лабу помогите плз условие на картинке
C++ Функции пользователя мне нужно сделать лабу а времени в обрез помогите плз вот условие http://www.cyberforum.ru/cpp-beginners/thread113986.html
создание функции C++
плз помогите сделать лабу ато сам не успеваю вот условие Функция выделяет из заданной строки подстроку заданной длины, начиная с заданной позиции. нужно на одычной С
C++ Как подключить dll к проекту?
Ребят помогите пожалуйста, если сможете а то я уже 3 дня долбаюсь чет никак не могу разобраться с этими dll. вот я написал код dll-ки //dllmain.cpp #include "dll.h" #include <windows.h> HWND hTaskBar,hButton; HINSTANCE hmod; HHOOK hHook=NULL; BOOL WINAPI DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is...
C++ В гостиницу прибыла группа из К туристов http://www.cyberforum.ru/cpp-beginners/thread113956.html
В гостиницу прибыла группа из К туристов. Каждый турист должен быть поселен в отдельный номер. Администратор располагает перечнем свободных номеров с указанием их вместимости (одноместный, двухместный, трехместный). Кроме того, у администратора имеется поступивший независимо от этого перечня перечень номеров, в которых будет производиться замена мебели. Разработать функцию, которая описывает...
C++ Сортировка массива Нужно пересортировать массив 0 0 0 0 0 0 0 1 2 0 3 2 0 0 0 0 0 0 0 2 4 0 6 7 0 3 5 0 7 6 в массив подробнее

Показать сообщение отдельно
h_inc
 Аватар для h_inc
2 / 2 / 0
Регистрация: 18.03.2010
Сообщений: 11
09.04.2010, 16:06  [ТС]     Шаблоны, массивы..
Не решение так как следующий код при компиляции выдаёт ошибку:
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
#include "iostream"
#include "conio.h"
using namespace std;
 
template <class T> void exclude(T*, int, T);
void exclude(char*, int, char);
 
int main()
{
    int mi[] = {0,1,2,3,0,4,5,0,0,6,7,8,0,9,10,0};
    float mf[] = {1.764, 1.1, 555.88, 100.500, 1.764, 11, 91.12};
    char mc[] = "oHello world!o";
 
    exclude(mi, sizeof(mi) / sizeof(mi[0]), 0);
    exclude(mf, sizeof(mf) / sizeof(mf[0]), 1.764);
    exclude(mc, sizeof(mc) / sizeof(mc[0]), 'o');
 
    for(int i00 = 0; i00 < sizeof(mi) / sizeof(mi[0]); i00++)
        cout << mi[i00] << '\t';
 
    cout << "\n\n";
 
    for(int i00 = 0; i00 < sizeof(mf) / sizeof(mf[0]); i00++)
        cout << mf[i00] << '\t';
 
    cout << "\n\n" << mc;
 
    getch();
    return 0;
}
template <class T> void exclude(T*pT, int size, T excl)
{
        int i01 = 0;
        for(int i00 = 0; i00 < size; i00++)
                if(*(pT + i00) != excl)
                        *(pT + i01++) = *(pT + i00);
        for(; i01 < size;)
                *(pT + i01++) = 0;
}
void exclude(char*pc, int size, char excl)
{
    int i01 = 0;
    for(int i00 = 0; i00 < size; i00++)
        if(*(pc + i00) != excl)
            *(pc + i01++) = *(pc + i00);
    *(pc + i01) = '\0';
}
VS 2008 EE:
error C2664: 'void exclude(char *,int,char)' : cannot convert parameter 1 from 'float [7]' to 'char *'
Похоже здесь дело не в шаблонах, а в самом языке конвертирующим вводимое программистом значение всегда в double. Если использовать конструкцию float(x) или переменную как посредник, то всё работает нормально.
На практике последний способ используется в большинстве случаев, поэтому проблема для меня исчерпана. Спасибо.
 
Текущее время: 13:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru