Visual Studio C++ 无法打开某些 headers 我不是故意包含的

Visual Studio C++ cannot open some headers I didn't deliberately include

今天我想开始学习C++。 但是我不断收到这些错误:

Cannot open source file "stdio.h"
Cannot open source file "tchar.h"
Cannot open source file "SDKDDKver.h"

但是,我什至在默认的空 win32 控制台项目中得到了这些。

有谁知道如何解决这个问题?

OS: windows 10

我的默认代码如下所示:

    // HelloWorld.cpp : Defines the entry point for the console application.
    //

    #include "stdafx.h"


    int main()
    {
        return 0;
    }

错误是:

Severity    Code    Description Project File    Line    Suppression State
Error (active)      cannot open source file "stdio.h"   HelloWorld  c:\Users\HP\Documents\Visual Studio 2015\Projects\HelloWorld\HelloWorld\stdafx.h    10  

Severity    Code    Description Project File    Line    Suppression State
Error (active)      cannot open source file "tchar.h"   HelloWorld  c:\Users\HP\Documents\Visual Studio 2015\Projects\HelloWorld\HelloWorld\stdafx.h    11  

Severity    Code    Description Project File    Line    Suppression State
Error (active)      cannot open source file "SDKDDKVer.h"   HelloWorld  c:\Users\HP\Documents\Visual Studio 2015\Projects\HelloWorld\HelloWorld\targetver.h 8   

Severity    Code    Description Project File    Line    Suppression State
Error (active)      cannot open source file "stdio.h"   HelloWorld  c:\Users\HP\Documents\Visual Studio 2015\Projects\HelloWorld\HelloWorld\stdafx.h    10  

在输出中 window:

1>------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

编辑:

我相信我已经安装了 C++,因为当我去
文件 > 新建 > 项目 > Visual C++
它只会显示 "Install ... for C++",所以我安装了第一个选项(不记得是哪个),安装后允许我创建项目。

检查您的 stdafx.h 内容。 Headers 可以传递包含。特别是,您引用的三个 ehaders 在 VC++ stdafx.h 中用于新项目。如果您使用 C++ 编程,您可以简单地删除它们。

(它说明了微软在 C 和 C++ 之间做出选择的挣扎:它们不支持 C99,但它们默认使用 C header 而不是 C++。甚至 <cstdio> 也不行。)