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

Вызов функции в многофайловом проекте

24.03.2018, 16:24. Просмотров 320. Ответов 9
Метки cpp (Все метки)

Компилятор ругается на указатель на массив "a" , в файле main.cpp

Вот файлы проекта:

main.cpp///
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
#include "iostream"
#include "perestanovka.h"
 
using namespace std;
 
int perestanovka(int n , int *a);
 
int main ()
{
int n;
cout «"Vvedite razmer massiva"«endl;
cin » n;
int *a=new int [n];
cout «"Vvedite elementu"«endl;
for( int i=0; i<n ; i++)
{
cin » a[i];
}
perestanovka(n,a);                                       //Здесь компилятор выдаёт ошибку.
for( int i =0; i<n ; i++)
{
cout « a[i] « " " ; 
}
cout « endl;
delete[] a;
return 0;
}

perestanovka.h///
C++
1
2
3
4
5
6
#ifndef PERESTANOVKA_H
#define PERESTANOVKA_H
 
int perestanovka(int n ,int *a);
 
#endif
perestanovka.cpp///
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "perestanovka.h"
 
int perestanovka(int n , int *a)
{
int i=0;
while (i <n -1 -n%2)
{
a[i] = a[i] + a[i+1];
a[i+1] = a[i] - a[i+1];
a[i] = a[i] - a[i+1];
i = i+2;
}
return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2018, 16:24
Ответы с готовыми решениями:

Ошибки в многофайловом проекте
Здравствуйте! У меня есть многофайловый проект. Он не закончен (только начатый), но запуск...

Struct в многофайловом проекте
Если в main файле создать структуру, то как её использовать в функциях, которые в других cpp...

Перегрузка << в многофайловом проекте
Чтобы узнать, как перегружать потоки, зашел на msdn, нашел там это: #include &lt;iostream&gt; using...

Ошибка LNK2005 в многофайловом проекте
Появилась такая проблема ,выдает ошибку LNK2005 при компиляции программы,вроде сделано все...

Ошибка линковки в многофайловом проекте
что за на??? в проекте 3 модуля: main.cpp, test.cpp, test.h, в main.cpp и test.cpp подключен...

9
Jabbson
Эксперт по компьютерным сетям
3462 / 2505 / 776
Регистрация: 03.11.2009
Сообщений: 7,940
Записей в блоге: 3
24.03.2018, 19:46 2
C++
1
#include "iostream"
vs
C++
1
#include <iostream>
и в main.cpp лишняя декларация функции perestanovka, вы же заголовок подключаете
0
XLAT
469 / 372 / 153
Регистрация: 23.09.2014
Сообщений: 1,386
Записей в блоге: 3
24.03.2018, 19:59 3
Цитата Сообщение от Airencarme Посмотреть сообщение
Компилятор ругается на указатель на массив "a" , в файле main.cpp
проверил в студии, не ругается)
0
Jabbson
Эксперт по компьютерным сетям
3462 / 2505 / 776
Регистрация: 03.11.2009
Сообщений: 7,940
Записей в блоге: 3
24.03.2018, 20:00 4
Цитата Сообщение от XLAT Посмотреть сообщение
указатель на массив это штука константная
а у вас же нет:
int perestanovka(int n , int *a)
сделай так:
int perestanovka(int n , int a[])
можете немного больше про штуку константную и разницу между *а и а[] в этом контексте рассказать?
0
24.03.2018, 20:00
XLAT
469 / 372 / 153
Регистрация: 23.09.2014
Сообщений: 1,386
Записей в блоге: 3
24.03.2018, 20:04 5
Цитата Сообщение от Jabbson Посмотреть сообщение
можете немного больше про штуку константную и разницу между *а и а[] в этом контексте рассказать?
зачем? вы и так все знаете))
Цитата Сообщение от Jabbson Посмотреть сообщение
#include "iostream"
вот мне объясните, как это влияет на ошибку указателя на массив?
0
Jabbson
Эксперт по компьютерным сетям
3462 / 2505 / 776
Регистрация: 03.11.2009
Сообщений: 7,940
Записей в блоге: 3
24.03.2018, 20:05 6
Не себя, а людей ради стараюсь, - пусть тоже знают.
0
XLAT
469 / 372 / 153
Регистрация: 23.09.2014
Сообщений: 1,386
Записей в блоге: 3
24.03.2018, 20:20 7
проверил: студия 2010 компилит #include "iostream" без проблем.

Добавлено через 2 минуты
Цитата Сообщение от Airencarme Посмотреть сообщение
Компилятор ругается на указатель на массив "a" , в файле main.cpp
скопипасти сюда эту ошибку.
0
Jabbson
Эксперт по компьютерным сетям
3462 / 2505 / 776
Регистрация: 03.11.2009
Сообщений: 7,940
Записей в блоге: 3
24.03.2018, 20:25 8
Цитата Сообщение от XLAT Посмотреть сообщение
проверил: студия 2010 компилит #include "iostream" без проблем.
Тем не менее, следовать спецификации языка - хорошая идея.
Подробнее о разнице в коротком изложении можно почитать тут.

Добавлено через 1 минуту
Цитата Сообщение от XLAT Посмотреть сообщение
тогда так)
int** a=new int [n];
Вы бы сразу с объяснениями, у человека же вопросов куча, наверное.
0
XLAT
469 / 372 / 153
Регистрация: 23.09.2014
Сообщений: 1,386
Записей в блоге: 3
24.03.2018, 20:32 9
Цитата Сообщение от Airencarme Посмотреть сообщение
cin » n;
а че это у тя за оператор "»"
C++
1
cin » n;
нужно же так:
C++
1
cin >> n;
наверно в офисе код пишешь? ))

Цитата Сообщение от Jabbson Посмотреть сообщение
Вы бы сразу с объяснениями, у человека же вопросов куча, наверное.
судя по тому, что человек этот молчит как рыба, наверное он уже и пароль на аккаунт забыл)))

Цитата Сообщение от Jabbson Посмотреть сообщение
Вы бы сразу с объяснениями, у человека же вопросов куча, наверное
да то было для двухмерного случая, я уже все проверил, ну, или почти все)
0
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
24.03.2018, 23:20 10
Цитата Сообщение от Airencarme Посмотреть сообщение
//Здесь компилятор выдаёт ошибку.
Какую?
0
24.03.2018, 23:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2018, 23:20

Иерархия классов в многофайловом проекте
Всем привет. Есть проблема с созданием программы. Должна быть небольшая иерархия классов, и все...

Ошибка LNK2019 в многофайловом проекте
Смысл: Мне нужно создать абстрактный класс контейнер, на его основе конкретные классы, далее...

Вывод в файл *.txt в многофайловом проекте
Нужно перенаправить cout в файл. Я выводил в информацию в файл просто с помощью добавления такого...


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

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

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