C/ Czy void może zwracać wartość 1 lub 0 ?

0

Pytanie jak w tytule, prościej się nie da.

Czy mogę gdzieś napisać:

 void funkcja()
{
return 0; 
} 
0

Napisać możesz.
Inna sprawa, że się nie skompiluje.

1

void nie zwraca niczego, więc trudno o zwrócenie, czyż nie ^^?
Jeśli chcesz zwrócić wartość 1/0, użyj bool.

0
  • dodam coś od siebie, bo tak głupio szybko skończyć, z resztą, chce się wykazać ;D
    Możesz też użyć void* do zwracania każdego typu.
    Przy return wygląda to tak:
return (int*) 5;

a przy odbieraniu: "

(int*) funkcja();

"

0

+Oczywiście wpadka (może ktoś to sklei, nie mam konta, wiem, jestem zły)

Do odbierania:

(int) funkcja();
0

Takie coś daje rade skompilować ;)

Kiedyś chyba dało się w C napisać

return void;

Może to ktoś potwierdzić?

void testv(int test) {
   std::cout << test << std::endl;
   void;
}
g++ -fpermissive test.cpp && ./a.out 
test.cpp: In function ‘void test(int)’:
test.cpp:13:4: warning: declaration does not declare anything [-fpermissive]
12
0

w Visual Studio 2010 bynajmniej nie przepuszcza

return void;
0

Może pytającemu chodzi o instrukcje:
return;
bez żadnych parametrów ?

0

Raczej nie, w nazwie tematu jest "1 bądź 0".

0

Znalazłem takie coś w C++

#include <iostream>

void test(int test) {
   std::cout << test << std::endl;
   if (1 == 1) return (void) (std::cout << "hello world" << std::endl);
}

int main(int argc, char** argv) {
   test(12);
   return 0;
}
 g++  test.cpp && ./a.out 
12
hello world

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