Para su pregunta real, VS estará bien para su curso, aunque todavía estoy desconcertado por la versión original de este código del profesor.
Sin embargo, es realmente útil tomarse el tiempo para comprender qué hicieron todos sus cambios y por qué solucionaron su problema. Tal vez ya hiciste esto, esa no es la impresión que obtuve de la frase
Lo que descubrí funcionaría después de buscar en Google
- cuando reciba un error o advertencia de compilación, léalo e intente comprenderlo.
- si no comprende el error, y esto es normal, ciertamente mientras aprende, entonces piratear el código hasta que funcione está perfectamente bien. Al menos a veces es más rápido, y saber que progresaste es su propia recompensa.
- Si piratear el código con Internet a su disposición no obtiene una solución, solo tendrá que estudiar más el mensaje de error. Activar todos los errores y advertencias del compilador y probar varios compiladores pueden ser útiles, incluso si todos fallan, los mensajes podrían ser más útiles. (A menudo encuentro que clang tiene errores útiles, y godbolt.org es muy útil).
Si hackear el código tiene una solución, aún debe intentar entender por qué . Ahora puede ver lo que ha cambiado, ver el error original e intentar comprender por qué sus cambios lo arreglaron. Si realizó múltiples cambios, ¿fueron todos realmente necesarios? ¿Entiendes lo que hicieron todos y por qué?
Si hace esto, puede solucionar el siguiente problema relacionado más rápido , en lugar de pasar por todo el proceso de prueba y error nuevamente. Incluso puede escribir un código mejor que evite el problema en primer lugar.
Esta es la parte que en realidad constituye el aprendizaje, y es por eso que estoy tratando de abordarlo.
La solución importante fue cambiar las líneas.
include <iostream>
main()
a
#include <iostream>
int main()
porque los primeros no son legales en C ++. Si su profesor realmente escribió exactamente eso y de alguna manera no copió mal, entonces no tengo idea de por qué su ejemplo funcionó.
El material específico de Visual Studio es el encabezado precompilado, como se describe en la respuesta de Gabriel.
Pero el cambio restante es esencialmente cosmético. Sustitución:
using namespace std;
con
using std::cout;
No afecta nada en su código, y solo usa
std::cout << "Hello world! :-)";
(sin ninguno using
) funcionaría igual de bien.