|
|
|
| Здравствуйте. Этот пример что-то не работает:
#include <iostream.h>
int main()
{
struct SomeStruct {
int svar1;
int svar2;
};
SomeStruct s1 = { 1, 2 }, s2;
SomeStruct myfunc(SomeStruct a)
{
a.svar1 = 3;
a.svar2 = 4;
return a;
}
cout << s1.svar1 << " " << s1.svar2 << endl;
s1 = myfunc(s1);
cout << s1.svar1 << " " << s1.svar2 << endl;
int k; cin >> k;
return 0;
}
|
С++ Builder 6 пишет: Improper use of typedef 'SomeStruct'
А можно ли задать у функции, принимающей структуру в качестве параметра значение по умолчанию? | |
|
|
|
|
|
|
|
для: antf
(12.11.2009 в 20:29)
| | Вы одну функцию в другой определяете - лучше вынести определение структуры, а myfunc() просто обязательно нужно вынести за пределы main()
#include <iostream.h>
struct SomeStruct {
int svar1;
int svar2;
};
SomeStruct myfunc(SomeStruct a)
{
a.svar1 = 3;
a.svar2 = 4;
return a;
}
int main()
{
SomeStruct s1 = { 1, 2 }, s2;
cout << s1.svar1 << " " << s1.svar2 << endl;
s1 = myfunc(s1);
cout << s1.svar1 << " " << s1.svar2 << endl;
int k; cin >> k;
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(12.11.2009 в 22:51)
| | Понятно. | |
|
|
|
|
|
|
|
для: cheops
(12.11.2009 в 22:51)
| | Структуры часто используются в C++? Помню в Delphi записи (аналог структур в Object Pascal) мне ни разу не понадобились. | |
|
|
|
|
|
|
|
для: antf
(12.11.2009 в 23:00)
| | Скорее в C - в C++ вместо них используются классы, причем очень интенсивно. Собственно struct и class - это в C++ практически одно и тоже, только, в struct все члены по умолчанию открыты (public), а в class - закрыты (private). | |
|
|
|