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

Аргументы по умолчанию (что не так ?) - C++

Восстановить пароль Регистрация
 
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
20.01.2011, 18:44     Аргументы по умолчанию (что не так ?) #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include "sys.h"
#include <iostream>
using namespace std;
int box ( int lenght = 1, int width = 1, int height = 1);
int main ()
{ 
    sys();
    cout << "Значение по умолчанию: " << box();
 
 
    system("PAUSE");
    return 0;
}
Выше код из учебника, что не так понять не могу ?
Ниже ошибки при компиляции в VS 2010
Код
Ошибка	1	error LNK2001: неразрешенный внешний символ ""int __cdecl box(int,int,int)" (?box@@YAHHHH@Z)"	C:\Users\Anton\Documents\Visual Studio 2010\Projects\Project\Project\Project.obj	Project

Ошибка	2	error LNK1120: 1 неразрешенных внешних элементов	C:\Users\Anton\Documents\Visual Studio 2010\Projects\Project\Release\Project.exe	1	Project
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.01.2011, 18:51     Аргументы по умолчанию (что не так ?) #2
TBIKC, А как насчет определить эту функцию, м?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
20.01.2011, 18:57     Аргументы по умолчанию (что не так ?) #3
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int volume(int w = 1, int h = 1, int l = 1) { return w * h * l; }
 
int main(){
    std::cout << "Default volume: " << volume() << std::endl;
    std::cout << "Special volume: " << volume(2, 3, 4) << std::endl;
    
    return 0;
}
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
20.01.2011, 19:11  [ТС]     Аргументы по умолчанию (что не так ?) #4
Подумал и сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "sys.h"
#include <iostream>
using namespace std;
int box ( int lenght = 1, int width = 1, int height = 1);
int main ()
{ 
        sys();
        cout << "Обьём равен: \n" << box(10,5,2);
        system("PAUSE");
        return 0;
}
int box ( int lenght, int width, int height)
{
    return lenght*width*height;
}
Добавлено через 1 минуту
Для меня это новое но понравилось более короче:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include "sys.h"
#include <iostream>
using namespace std;
int box ( int lenght = 1, int width = 1, int height = 1) 
{
        return lenght*width*height;
}
int main ()
{ 
        sys();
        cout << "Обьём равен: \n" << box(10,5,2);
        system("PAUSE");
        return 0;
}
Yandex
Объявления
20.01.2011, 19:11     Аргументы по умолчанию (что не так ?)
Ответ Создать тему
Опции темы

Текущее время: 09:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru