Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Koleso
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 13
1

Нюансы использования директивы препроцессора #define: найти и исправить ошибки в коде

05.10.2016, 10:39. Просмотров 320. Ответов 6
Метки нет (Все метки)

Добрый день. Помогите, пожалуйста, в решении задачи. Задача простая, но хочется разобраться с #define. У меня есть 3 файла: заголовочный my_f.h, файл с описанием функций my_f.cpp и файл с main() my_prog.cpp. У меня есть некий набор функций для работы с типом int и некий набор - с типом float. Эти функции описаны в файле my_f.cpp. В заголовочном файле my_f.h при помощи #define пишу :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
      #ifdef  INT_
      #define Sort SortMasInt
      #define ZopolMas ZapolInt
      #define ShowMas ShowInt 
      #define Type int 
      #indif
 
      #ifdef FLOAT_
      #define Sort SortMasFloat 
      #define ZopolMas ZapolFloat
      #define ShowMas ShowFloat 
      #define Type float
      #endif
В начале файла my_prog.cpp я задаю #define INT_ или #define FLOAT_. Проблема в том, что я хочу создать динамический массив типа Type *my_mass = new Type(SIZE), но не знаю как это сделать правильно.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2016, 10:39
Ответы с готовыми решениями:

Нюансы использования строк в стиле Си: найти и исправить ошибки в коде
Всем привет. Интересует такой вопрос почему ругается if (x <=5){ ...

Нюансы работы с конструктором копирования: найти и исправить ошибки в коде
Доброго дня! Разбирал тему "Конструктор копирования". Сделал самостоятельно...

Директивы препроцессора Составить программу, использующую директивы препроцессора
1) Задать константы M1,M2,...,M5 и вычислить M1+ 2M2 + 3M3 + 4M4 + 5M5 2) С...

Нюансы использования препроцессора и макросов: чему будет равно значение переменной a?
Чему будет равно значение переменной a? #define square(x) (x * x) int b =...

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного...

6
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4837 / 2482 / 695
Регистрация: 18.10.2014
Сообщений: 4,290
05.10.2016, 10:47 2
Цитата Сообщение от Koleso Посмотреть сообщение
Проблема в том, что я хочу создать динамический массив типа Type *my_mass = new Type(SIZE), но не знаю как это сделать правильно.
C++
1
Type *my_mass = new Type[SIZE];
0
Koleso
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 13
05.10.2016, 10:55  [ТС] 3
Извиняюсь, я пишу Type *my_mass = new Type[SIZE] в файле my_prog.cpp, но компилятор ругается что *my_mass не задан идентификатор.
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4837 / 2482 / 695
Регистрация: 18.10.2014
Сообщений: 4,290
05.10.2016, 11:06 4
Цитата Сообщение от Koleso Посмотреть сообщение
Извиняюсь, я пишу Type *my_mass = new Type[SIZE] в файле my_prog.cpp, но компилятор ругается что *my_mass не задан идентификатор.
Ну тут уж трудно что-то сказать. Телепатов нет. Показывайте, что именно вы там пишете. В контексте.
0
Koleso
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 13
05.10.2016, 11:41  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include "my_f.h"
#define INT
#define SIZE 10
using namespace std;
int main()
{
    Type *my_mass = new Type[SIZE];
    ZapolMas(*my_mass, SIZE);
    return 0;
}
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4837 / 2482 / 695
Регистрация: 18.10.2014
Сообщений: 4,290
05.10.2016, 11:45 6
Цитата Сообщение от Koleso Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include "my_f.h"
#define INT
#define SIZE 10
using namespace std;
int main()
{
    Type *my_mass = new Type[SIZE];
    ZapolMas(*my_mass, SIZE);
    return 0;
}
Ну так, во-первых, писать #define INT_ надо перед включением вашего заголовочного файла. А, во-вторых, куда вдруг пропало подчеркивание из INT_?
1
Koleso
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 13
05.10.2016, 11:52  [ТС] 7
Спасибо !!!
0
05.10.2016, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2016, 11:52

Найти ошибки в коде и исправить эти ошибки
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; ...

Найти ошибки в коде и исправить эти ошибки - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не...

Нюансы использования исключений: объяснить причины и способы устранения ошибки
Есть такой кусочек кода. Я хочу просмотреть всё что хранится в операционной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru