Enquanto eu lia o livro "Programação: Princípios e Práticas Usando C++",
tentei o "Primeiro programa clássico", como mostrado neste código:
// This program outputs the message "Hello, World!" to the monitor
import std; // gain access to the C++ standard library
int main() // C++ programs start by executing the function main
{
std::cout << "Hello, World!\n"; // output "Hello, World!"
return 0;
}
Mas quando compilei esse código no vs code ele me retorna um erro confuso e eu me pergunto por que ele não é válido.
O que você acha?
Tentei implementar esse código no vs code, mas recebi este erro:
Cpp.cpp:1:1: error: 'import' does not name a type
import std;
^~~~~~
Cpp.cpp: In function 'int main()':
Cpp.cpp:4:9: error: 'cout' is not a member of 'std'
std::cout<<"Hello,World\n";
^~~
A edição mais recente do livro usa C++20 em diante.
Você parece estar usando C++11, já que essa é geralmente a versão padrão para a qual os compiladores revertem ao compilar.
Apenas C++20 introduziu módulos que incluem a palavra-chave new
import
.Ao compilar seus arquivos, você deve usar o
-std=c++20
sinalizador (gcc/clang) ou/std:c++20
(msvc/windows) para instruir o compilador a usar o padrão C++20.Ao usar o Visual Studio Code, você deve configurar seu espaço de trabalho com a extensão C/C++ da Microsoft, pois eles têm uma maneira conveniente de definir os sinalizadores usando as configurações.
da minha opinião, acho que o uso de import std; pode ser o problema. Se você usar #include em vez disso, funcionará perfeitamente bem.
para uso de import std; a versão mais recente do gcc funcionará, eu acho
#import é algo específico da Microsoft, aparentemente apenas para coisas COM ou .NET.
Para seu código, você só precisa adicionar o arquivo de cabeçalho iostream e remover o import std.