9

我对 Visual Studio 的 2012 版有疑问。我还在使用“Sams 每天一小时自学 C++,第 7 版”。

在使用 google 找到 C++ 的“最佳”编译器后,Visual Studios 似乎是首选工具。

所以我下载并安装了 Visual Studios 2012。本书的第一课是(并告诉我通过转到File > New > Project >Visual C++ > Win32 > Console Application将其作为控制台应用程序运行)

 #include <iostream>

int main()
{
 std::cout << “Hello World!” << std::endl;
 return 0;
}

这根本不起作用。它输出类似于以下内容的错误消息:

1>c:\users\nik\documents\visual studio 2012\projects\consoleapplication4\consoleapplication4\consoleapplication4.cpp(8): error C2065: '“Hello' : undeclared identifier 1> 生成代码... ===== ===== 构建:0 成功,1 失败,0 最新,0 跳过 ==========

(有更多与第一行类似的行,但它相当长)

但是,在 youtube 上搜索和观看视频后,以下代码有效(使用File > New > Project >Visual C++ > General > Empty Project

#include <iostream>
#include "conio.h"

using namespace std;

int main() {
cout << "Hello Nik" << endl;
_getch();

return 0;
}

Visual Studio 的 2012 有 C++ 编译器吗?还是它只有一个可视化 c++ 编译器(如果这甚至是问题,我认为可能的唯一原因是我可以看到 Visual C++ 的模板,但没有看到 c++ 本身的模板......)还是我需要下载 Visual Studio Express下载本机 C++ ??

任何帮助将不胜感激,因为我在这里感觉有些超出我的深度......

谢谢。

4

6 回答 6

13

除了撇号,您可能需要在项目属性中禁用预编译器头文件。

它们在 VS2012 中默认开启。如果您不熟悉预编译头文件,请关闭它们。

  1. 右键单击项目(不是解决方案)
  2. 单击属性。
  3. 展开“配置属性”
  4. 展开“C/C++”
  5. 选择“预编译头文件”
  6. 将“预编译头”设置为“不使用预编译头”

Wikipedia 上有关预编译头文件和 stdafx.h 文件的更多信息

于 2012-09-27T05:54:23.933 回答
7

您使用的撇号是错误的:

“Hello World!” 

应该

"Hello World!"

请注意 SO 如何识别差异。您至少应该键入您在书中看到的代码,而不是复制和粘贴它。;-)

于 2012-09-27T05:44:10.820 回答
4

Win32 控制台应用程序实际上与空项目有很大不同。Win32 利用您在循环中轮询的消息(输入)队列,您的程序分别利用 Win32 API 并执行某些操作。

除非您让它依赖于它,否则空项目对 Win32 或 Windows 在 API 方面提供的任何东西的依赖程度较低。这将是您空项目中的 simples hello world 应用程序:

#include <iostream>

using namespace std;

int main() 
{
    cout << "Hello World" << endl;

    return 0;
}
于 2012-09-27T05:54:29.477 回答
4
于 2012-09-27T05:56:05.437 回答
0

为了解决您的错误,您必须删除 std:: 的 std::cout 和 std::endl,并使用命名空间 std; 在#include iostream 下方,并将“”更改为“”。

#include <iostream>
using namespace std;
int main() 
{
   cout <<"Hello World" << endl;
   return 0;
}

在 Visual Studio 2012 中

 file>new projet>visual c++ (Project win32)>application settings(application console+Not Using Precompiled)>in right box in you Project (right click, add>new element>file c++).
于 2014-02-08T13:11:06.600 回答
0

和...之间的不同

“Hello World!” and 
"Hello Nik" is the apostrophe. 

Aslo 是错误仍然存​​在,而不仅仅是检查 Visual C++ 库链接器。

也绝对不需要 conio.h

如果您要从书中复制,至少要正确复制。

Using namespace std; 
would be pretty smart in this case. 
于 2014-11-29T04:03:56.750 回答