[C++] problem z definicją funkcji

0

Witam, jako że uczę się c++ to kilka minut temu coś mnie napadło żeby napisać minutnik
No więc napisałem ale mam teraz problem ponieważ wywala mi jakiś błąd dotyczący klamry podczas definicji funkcji
Jako że nie jestem zbyt spostrzegawczy to nie wiem czym to jest spowodowane. Możecie mi pomóc ?

#include<iostream>
#include<Windows.h>
void main()
{
    int minuty;
    int sekundy;
     //******************************************************
    void minutnik(int min, int sek) 
    {                                         //przy tej klamerce wywala błąd
       int czas = min * 60 + sek;
        
        for(int i=0; i<czas; i++)
        {
            system("cls");
            std::cout<<min<<":"<<sek;
            Sleep(1000);
            sek--;
            if (sek==-1) 
            {
                min--;
                sek=59;
            }


        }
        std::cout<<"czas minal" ;

    };
    //************************************************************

    
    do
    {
    std::cout<<"Podaj ile czasu mam odliczać"<<std::endl;
    std::cout<<"__:--"<<std::endl;
    std::cin>>minuty;
    }
    while (minuty<0 || minuty>59);
    do
    {
    system("cls");
    std::cout<<"Podaj ile czasu mam odliczać"<<std::endl;
    std::cout<<minuty<<":__"<<std::endl;
    std::cin>>sekundy;
    }
    while (sekundy<0 || sekundy>59);
    minutnik (minuty, sekundy);
} 
0

Nie wolno deklarować funkcji wewnątrz innej funkcji.

0

Dzięki za pomoc, teraz już będę pamiętał ;)

0

Można w C99, zupełnie normalnie:

// to jest C
#include <stdio.h>

int main()
{
   void foobar()
   {
       printf("ala ma kota\n");
   };

   foobar();
}

oraz można w C++0x, z dość dziką składnią niestety:

// to jest C++
#include <stdio.h>

int main()
{
   auto foobar=[]()->void
   {
       printf("ala ma kota\n");
   };

   foobar();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1