Definicja w definicji funkcji
Ostatnio zmodyfikowano 2012-10-14 13:50
Admixior Temat założony przez niniejszego użytkownika |
Definicja w definicji funkcji » 2012-09-26 18:47:52 Mam pyt. Czy jest możliwa definicja funkcji w ciele innej, tudzież: int main() { int fun() { } fun(); }
Czy jest coś na ten temat w standardzie, że można w powyższy sposób lub jakiś inny robić takowe definicje? |
|
m4tx |
» 2012-09-26 18:52:43 Po co Ci takie? :P
Nie da się raczej czegoś takiego zrobić. |
|
Mrovqa |
» 2012-09-26 19:12:52 Pamiętam, iż w Symfonii C++ chyba było coś na ten temat. Teraz sprawdziłem - G++ w wersji 4.6.2 nie przepuszcza takiej definicji, ale niewykluczone, że starsze wersje przepuszczają ;) |
|
pekfos |
» 2012-09-26 21:04:49 Jest coś takiego jak wyrażenie lambda. int main() { auto wtf =[]( int a ) { return a * 2 + 2; }; int b = wtf( 1 ); b += wtf( 86 ); }
|
|
Mrovqa |
» 2012-09-26 21:48:32 Wiem co to wyrażenie lambda, miałem na myśli zwykłą definicję funkcji. |
|
Admixior Temat założony przez niniejszego użytkownika |
» 2012-09-26 22:08:48 @Mrovqa: Też właśnie coś kojarzę z symfonii ale za każdym razem jak próbowałem robić coś takiego to była lipa i nie działało. Zaraz sprawdzę jak to dokładnie J.Grębosz pisał... |
|
Mrovqa |
» 2012-09-27 10:46:32 int main() { int func() { return 5; } return func(); }
Gdy skompilujemy jako C to działa, jednakże jako C++ to nie chce się kompilować... Gdzie tu jest zachowana zgodność C++ z C? :/ |
|
DejaVu |
» 2012-09-27 13:34:21 Parcie na zgodność C++ z językiem C po tylu latach istnienia C++ jest bezsensowne :) Kompilatora C to raczej się już używa tylko do zadań na zaliczenia. |
|
« 1 » 2 3 |