С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
20 / 20 / 2
Регистрация: 28.11.2012
Сообщений: 366

Ошибки при добавлении пустой функции

17.04.2013, 22:50. Показов 1410. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
При компиляции проекта никаких ошибок, до того момента пока я не создам эту функцию...
В CMainPWDlg.h я объявил структуру:
C++
1
2
3
4
5
6
struct COORDS
    {
        float x;
        float y;
        float z;
    };
Далее, в окне классов проекта правой кнопкой мыши на классе диалогового окна--->Add Function
Возвращаемое значение COORDS, параметр подаваемый в функцию int, название функции GetCoords, имя параметра nom, добавить параметр. FINISH
Создается пустая функция:
C++
1
2
3
4
5
COORDS CMainPWDlg::GetCoords(int nom)
{
    
    return COORDS; //Почему COORDS? Ведь мне вернять надо переменную типа COORDS, а не саму структуру.
}
При компиляции вылетает куча ошибок типа:
1)syntax error : missing ';' before 'CMainPWDlg::GetCoords'
2)'CMainPWDlg::GetCoords' : redefinition; different basic types
3)'int CMainPWDlg::GetCoords(int)' : overloaded function differs only by return type from 'CMainPWDlg::COORDS CMainPWDlg::GetCoords(int)'
4)missing type specifier - int assumed. Note: C++ does not support default-int
Почему вылетают все эти ошибки?
Первая такое впечатление, что компилятор думает, что я хочу описать структуру.
Вторую ошибку я просто не понимаю...
Четвертая ошибка говорит, что функции якобы не поддерживают параметров int по дефолту...

Как же мне все-таки вернуть объект структуры?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2013, 22:50
Ответы с готовыми решениями:

Error 1004. Cannot shift nonblank cells. При добавлении пустой строки
Подскажите, в чем ошибка: хочу всего лишь добавить пустую строку, а что-то не то.. Worksheets(str_page).Activate ...

Ошибки при добавлении new Runnable
executorService.execute(new Runnable() { @Override public void run() { - без этого работала без ошибок,...

Ошибки при добавлении записей в БД
Доброго времени суток, в моем проекте возникла ошибка добавления записи в бд. БД на Access, я связываю с делфи при помощи ADO conecthion,...

6
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
18.04.2013, 01: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
24
25
26
27
28
29
30
31
32
33
//MyClass.h
//#include ....
class MyClass
{
public:
    struct COORDS
    {
        float x;
        float y;
        float z;
    } coords;
 
    MyClass(){coords.x = 1.01f;coords.y = 2.02f;coords.z = 3.03f; }
    ~MyClass(){}
 
    COORDS GetCoords(void){ return coords;}
    float  GetfloatXCoords(void){ return coords.x;}
    float  GetfloatYCoords(void){ return coords.y;}
    float  GetfloatZCoords(void){ return coords.z;}
};
//main.cpp
#inclued "MyClass.h"
 
int main(void)
{
   ...
   MyClass mc;
   MyClass::COORDS cd = mc.GetCoords();
   float x = cd.x, y = cd.y, z = cd.z;
   // выводим или еще что то делаем
   ...
   return 0;
}
0
20 / 20 / 2
Регистрация: 28.11.2012
Сообщений: 366
18.04.2013, 16:47  [ТС]
А реализацию возвращения функциями координат в вашем примере вы решили сделать прямо в классе... Но в моей, да и любой программе их больше, поэтому я считаю все же стоило просто вынести их реализацию за класс...
оно ? :
Возможно, но с одной стороны я подумал, зачем мне городить целый класс для этого, тогда уж проще создать три функции, возвращаемое значение float, а параметр int.
Еще я подумал, что вероятность допустить ошибку (даже опытному программисту) велика, однако когда ошибки вываливаются в очевидных вещах, то тут скорее всего какая-то глобальная ошибка моего быдлокодерства.
В принципе так и есть, я объявил структуру
C++
1
2
3
4
5
6
struct COORDS
    {
        float x;
        float y;
        float z;
    };
прямо в классе моего диалогового окна, т.е. получился класс в классе.
Когда я вынес объявление структуры за класс компилятор не выдал ошибок, только варнинги по поводу функций itoa(); и sprintf();...
Далее программу пока не пытал, но самое главное, что компилятор не ругается...
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
18.04.2013, 17:48
Xantrax, перед всеми типами фунций допиши слово inline + в MyClass.h не забудь воткнуть stdafx.h, а после инклудов запиши #pragma once
0
20 / 20 / 2
Регистрация: 28.11.2012
Сообщений: 366
18.04.2013, 18:24  [ТС]
Xantrax, перед всеми типами фунций допиши слово inline + в MyClass.h не забудь воткнуть stdafx.h, а после инклудов запиши #pragma once
У меня проект создан с помощью AppWizard(если я не ошибаюсь), поэтому #pragma once там сама прописалась, а смысл от inline? Насколько я помню она дает как бы просьбу компилятору включать текст кода в данное место программы, но компилятор может и проигнорировать эту просьбу. Вставлять такое слово надо если функция небольшая, буквально в пару строк...
0
18.04.2013, 22:26

Не по теме:

Xantrax, делай то что сказал если хочешь чтобы работало, ну или можешь подождать у моря погоды.
У меня нет времени объяснять каждому челу с форума почему так пойдёт, а так не пойдёт, либо делай либо нет размышлять не надо.

0
20 / 20 / 2
Регистрация: 28.11.2012
Сообщений: 366
18.04.2013, 22:55  [ТС]
Xantrax, делай то что сказал если хочешь чтобы работало
Юра, так я вроде бы понял свою ошибку сам, исправил и у меня все заработало...
Спасибо вам конечно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2013, 22:55
Помогаю со студенческими работами здесь

Ошибки при добавлении Thread
Непонятные для меня ошибки.

Ошибки при добавлении ссылок на библиотеки
Здравствуйте, пытаюсь добавить ссылку на библиотеку Excel, не могу использовать по ряду, непонятных, для меня ошибок. Хотелось бы узнать у...

Появление ошибки при добавлении контроллера
Доброго времени суток. Разбираю пример MVC Music Store. Хочу добавить контроллер StoreManager...

Ошибки при добавлении параметров в реестр
Приветствую ! Имеется следующее: set LOWPRIOR="1_prog.exe" "2_prog.exe" for %%A in (%LOWPRIOR%) do ( reg add...

При добавлении AdMob возникают ошибки
Как это исправить? Что добавить? import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdSize; import...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru