A ver, ahora ya estoy bastante metido en la programación C++, y no me puedo creer que no sepa sacar la solución de este error. Teóricamente tendría que estar bien, pero prácticamente no sale tan bien. Solo me marca error en la 8 linea, dice que la variable "max" tiene error.
No se cual, porque metiéndonos en código podemos apreciar como la variable "max " es int y no const (modificable) . Las librerías también están bien... no se que sera.
#include <iostream>
using namespace std;
unsigned short int num, max;
int main()
{
cin >> max;
num = rand() % max;
cout << "\n " << num;
cin.sync();
cin.get();
return 0;
}
Gracias por adelantado cracks;)
podría ser un conflicto...
http://www.cplusplus.com/reference/algorithm/max/
Dulces Lunas!¡.
Ostras...
¡¡¡Se me olvido pensar en las palabras clave!!!
Ahora ya sale todo correctamente, madre mía, error de no fijarse bien.
Muchas gracias y saludos:)
Tal vez sea un conflicto pero no debería, algunos puntos en relación con el programa:
1) No debe existir un conflicto con la función "max" ya que no incluyes el encabezado <algorithm>.
2) El compilador debería reportar la llamada a "rand" ya que no se tiene acceso a su prototipo (este se encuentra en <cstdlib>).
3) No llamar a "srand" tiene el mismo efecto que "srand(1)". En otras palabras el resultado sera el mismo cada vez que se ejecute el programa.
Así debería funcionar:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <cstdlib>
using std::rand;
int main()
{
unsigned short int num, max;
cin >> max;
num = rand() % max;
cout << num << endl;
cin.sync();
cin.get();
return 0;
}
Pero sigo pensando que es algo relacionado con el compilador (o la forma en que se ejecuta este).
Un saludo