vbmaster Posted January 4, 2006 at 05:40 PM Report #10742 Posted January 4, 2006 at 05:40 PM Pois é... tenho gostado bastante de programar em linux, o ambiente é mais leve, os output's ocupam menos espaço (os meus projects em c++ feitos em vs.net 2003 já levavam uns bons 300MB) e em suma tem funcionado bem. Já sabia que 'voids' em linux não funcionavam, infelizmente, porque eu prefiro sempre declarar uma função como 'void' por calanzisse, mas cheguei agora a uma parte do meu livro em que começa a falar de void pointers, e penso que estes como no fundo não deixam de ser voids, continuam a não estar acessíveis em linux... O que me leva a fazer um post é no fundo, perguntar o porquê disto, e saber se há algum IDE ou compilador que aceite voids.... até agora só tenho usado para programar em linux, o gedit com modo de realce c++, e o g++ para compilar. Fiquem bem 😛 ;)😄
Bruno Posted January 4, 2006 at 05:43 PM Report #10743 Posted January 4, 2006 at 05:43 PM N percebi bem a dúvida... mas funções q retornam void são aceites... podes dar um exemplo em código do que falas?
vbmaster Posted January 4, 2006 at 05:49 PM Author Report #10745 Posted January 4, 2006 at 05:49 PM São? Tipo: #include <iostream> using namespace std; void main () { cout << "Cheiras mal da boca!" << endl; } E ele diz, o g++, error: main must return int.
Bruno Posted January 4, 2006 at 05:55 PM Report #10747 Posted January 4, 2006 at 05:55 PM Pois claro... 😄 Qq main retorna um inteiro 😛 (para o sistema saber se acabou ou não com erros) Qq outra função já pode ser void! 😄
vbmaster Posted January 4, 2006 at 05:59 PM Author Report #10748 Posted January 4, 2006 at 05:59 PM Mas em windows eu consigo fazer o código anterior nas boas.... :\
Bruno Posted January 4, 2006 at 06:02 PM Report #10749 Posted January 4, 2006 at 06:02 PM Hmmm, no DEV-C++ q usa o gcc/g++ dá o mm erro q te dava a ti... Não sei qual é o compilador do vs.net... o proprio compilador poderá mudar o void para int... o gcc/g++ obriga-te a colocares tudo bem 😛 (e se for a versão 4 ainda consegue ser mais "chata" q as outras)
vbmaster Posted January 4, 2006 at 06:18 PM Author Report #10751 Posted January 4, 2006 at 06:18 PM O vs.net é um IDE, usa o seu próprio compilador. Mas então em príncipio não terei problemas em void pointers?
Bruno Posted January 4, 2006 at 07:07 PM Report #10757 Posted January 4, 2006 at 07:07 PM Epá acho q n... Mas já agora o facto de ser um IDE n quer dizer q usei um compilador da GNU 😄 O Dev-C++ usa 😛
vbmaster Posted January 4, 2006 at 09:43 PM Author Report #10780 Posted January 4, 2006 at 09:43 PM Pois mas esse é free, não estou a ver a MS a ir buscar os compiladores dos outros.. mas ao que me tenho apercebido void é um tipo de varíavel como qualquer outra em c++, porque haveria o linux de não a deixar declarar uma função? Enfim... já agora... que IDE usas aí em linux, se é que usas IDE.
deathseeker25 Posted January 4, 2006 at 09:53 PM Report #10781 Posted January 4, 2006 at 09:53 PM vbmaster experimenta o Eclipse...
Bruno Posted January 4, 2006 at 10:00 PM Report #10782 Posted January 4, 2006 at 10:00 PM Mas afinal há algum problema ou n com o void? O da Main é obvio q n é nenhum problema uma vez q o sistema precisa de saber como o programa terminou! Eu n uso nenhum IDE... uso apenas emacs e g++ 😛
QuickFire Posted January 4, 2006 at 10:30 PM Report #10796 Posted January 4, 2006 at 10:30 PM Eu usava o Eclipse que é excelente mas agora estou dividido 😛 Emacs no portatil e Anjuta (Muito bom mesmo 😄 adoro é mesmo do meu estilo ) para o PC 😄 para Windows é o dev-cpp
vbmaster Posted January 4, 2006 at 11:21 PM Author Report #10817 Posted January 4, 2006 at 11:21 PM O único problema é que o meu livro também não apresenta nenhum pedaço de código completo onde eu possa testar realmente se os void's sempre são suportados e só têm aquela irregularidade na declaração de funções... Senão já tinha dado feedback... :\
Bruno Posted January 4, 2006 at 11:31 PM Report #10819 Posted January 4, 2006 at 11:31 PM Hmmm, aposto que não há nenhuma irregularidade... só na main é que n podes fazê-lo e já sabemos porquê! 😄
vbmaster Posted January 5, 2006 at 01:39 PM Author Report #10849 Posted January 5, 2006 at 01:39 PM Então qualquer outra função que não a main, pode ser void, right?
theproject Posted January 5, 2006 at 05:12 PM Report #10865 Posted January 5, 2006 at 05:12 PM boas, o main por definicao retorna int para poder retornar um inteiro pa funcao _start k é o compilador k a mete... esse inteiro por definicao é 0 se tudo correu bem... kk outra funcao pode retornar kk tipo... se declarares uma funcao como retornando void... bem.. tas a dizer "esta funcao nao retorna nada" .... já se disseres k ela retorna void* nao tas a dizer k ela retorna um ponteiro para nada mas sim um ponteiro pa kk coisa... 😄 hasta
vbmaster Posted January 5, 2006 at 06:23 PM Author Report #10885 Posted January 5, 2006 at 06:23 PM Ah, ok. Obrigado a todos pela vossas explicações e paciência... 😄
saramgsilva Posted January 5, 2006 at 06:26 PM Report #10886 Posted January 5, 2006 at 06:26 PM eu tinha ideia que podiamos usar o void... 😄 mas em casa ainda vou testar... ? www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
theproject Posted January 5, 2006 at 07:35 PM Report #10915 Posted January 5, 2006 at 07:35 PM Obviamente, a unika coisa k nao podes fazer com um void e tentares sakar um valor de retorno de uma funcao k "retorna" void... isso no gcc por exemplo vai te dar uma mensagem k e kk coisa como : "void value not ignored as it should be" .. pelo contrario, uma funcao k retorna kk coisa (por exemplo um int) nao somos obrigados a apanhar o valor de retorno... no entanto é considerado boa programacao apanhar e testar os valores de retorno para saber se as funcoes correram bem... é comum as funcoes de sistema retornarem um int k segue a mm convencao k eu disse.. 0 pa tudo bem e != 0 pa kk erro... ou entao negativo para erro e >=0 para ok... isso ja depende da funcao... fikem
saramgsilva Posted January 7, 2006 at 06:10 PM Report #11146 Posted January 7, 2006 at 06:10 PM Obviamente, a unika coisa k nao podes fazer com um void e tentares sakar um valor de retorno de uma funcao k "retorna" void... fikem eu sei... :dontgetit: www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now