Visual Studio Problems

11. 没有与参数列表匹配的重载函数 TextOutW()

VS2017中视图类OnDraw方法代码如下

void CDIPDemoView::OnDraw(CDC* pDC)
{
    CDIPDemoDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;
    pDC->TextOut(10, 10, "我爱你中国");            //调用CDC类的TextOut方法输出文本

    // TODO: 在此处为本机数据添加绘制代码
}

提示错误:没有与参数列表匹配的重载函数,即参数不正确,应改为:

pDC->TextOut(10,10,_T("我爱你中国");

字符(串)有两种类型,char()和wchar_t()型,分别用于多字节字符和unicode字符,两种类型分别有一套对应的字符串处理函数(包括C/C++标准库,WindowsAPI,MFC等)。MFC的类和函数会根据工程设置(默认为wchar_t)自动匹配,因此这时Format要求的字符串参数为wchar_t*,所以要在字符串前加上“L”表示是wchar_t型字符串,或者加上_T(),_T同样会根据工程设置自动匹配char或wchar_t。
若使用的VC版本比较高,采用的是宽字符,一般这种情况下我们在字符串前加 L:

   TextOut(10,10,L"请输入名称!");

或者加 TEXT:

TextOut(10,10,TEXT("请输入名称!"));

但为了程序的适用性,使用_T更好些。因为用_T会自动按你程序所在环境来决定是否是宽字符还是简单的ASCII,更省事!

10.C++不允许使用不完整类型

定义对象之前,编译器必须看到完整的类定义,对应自己文件里是否缺少包含的头文件。

9. C#各版本功能介绍

C#2.0主要功能,参见 http://www.cnblogs.com/fecktty2013/p/csharp2.html
C#3.0主要功能,参见 http://www.cnblogs.com/fecktty2013/p/csharp3.html
C#4.0主要功能,参见 http://www.cnblogs.com/fecktty2013/p/csharp4.html
C#5.0新增功能,参见 http://www.csdn.net/article/2011-05-24/298498
C#6.0新增功能,参见 http://aehyok.com/Blog/Detail/66.html

8. .NET Framework各版本功能示意图

此图转载于 http://www.xcode.me/more/microsoft-net-framework-version-define

7. Visual Studio、.NET Framework及C#版本搭载关系介绍

Visual Studio版本 .NET Framework版本 C#版本 增加功能
Visual Studio 2002 .NET Framework 1.0 C#1.0
Visual Studio 2003 .NET Framework 1.1 C#1.2
Visual Studio 2005 .NET Framework 2.0 C#2.0
Visual Studio 2008 .NET Framework 3.5 C#3.0 1.自动提示和重构; 2.新增WCF; 3.增加Windows Live;4.优化SQL数据库发布解决方案;5.拼写检查器
Visual Studio 2010 .NET Framework 4.0 C#4.0 1.支持Visual Studio套件扩展;2.支持.NuGet管理.NET套件;3.支持多显示器、支持Office;4.IDE增强,更好支持C++;5.Quick Search特性;6.新增基于.NET平台语言F#
Visual Studio 2012 .NET Framework 4.5 C#5.0 C#6.0 1.支持Windows 8 Metro;2.TFS2012,生命周期管理;3.界面优化;4.集成ASP.NET MVC4,全面支持移动和HTML5,WF4.5性能成熟,状态及工作流回归目设计器支持C#表达式
Visual Studio 2013 .NET Framework 4.6 C# 5.0 C#6.0 1.支持Windows 8.1 App开发;2. TF2013,增加敏捷项目管理;3.改进版本控制功能;4.对潜在内存泄漏问题进行提示;5.增加测试用例管理功能,优化测试管理。
Visual Studio 2015 .NET Framework 4.6 .NET Core5(Beta版) C#5.0 C#6.0 1.自定义窗口布局,登录VS后可切换开发环境布局;2.更优的代码编辑器,"Rolsyn"提供可选的修复代码方案;3.Shared Project集成;4.Bower和NPM中的代码智能提示;5.调试Lambdas表达式

值得说明的是.NET Framework 2.0及以上版本支持向Visual Studio2008以上版本的兼容搭载,例如在Visual Studio2010版,仍然可以安装.NET Framework2.0,C#版本也做相应变化,但Visual Studio2010最高只能支持.NET Framework4.0。其他例子不做赘述。
VS各版本功能参见:
VS2010 http://developer.51cto.com/art/201003/191113.htm
VS2012 http://tech.it168.com/a2012/0606/1357/000001357266.shtml
VS2013 http://www.cnblogs.com/ShaYeBlog/p/4108074.html
VS2015 http://www.codeceo.com/article/5-vs-2015-preview-features.html

6. MVSC版本号对应情况

MSVC Version
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
MSVC++ 8.0 _MSC_VER== 1400 (Visual Studio 2005)
MSVC++ 7.1 _MSC_VER== 1310 (Visual Studio 2003)
MSVC++ 7.0 _MSC_VER== 1300
MSVC++ 6.0 _MSC_VER== 1200
MSVC++ 5.0 _MSC_VER== 1100

5. Visual Studio Code介绍

Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。

4. Xamarin介绍

百度百科:Xamarin
Xamarin is a San Fancisco, California based software company created in May 2011 by the engineers that created Mono, MonoTouch and Mono for Android which arecross-platform implementations of the Common Language Infrastructure(CLI) and Common Language Specifications(often called Microsoft.NET).
Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。
为一个跨平台开发框架,Xamarin.Mobile有很多优点。在这一框架内,开发iOS、Android、Windows Phone和Mac App应用可以不用转到Eclipse 或者额外购买Mac并使用Xcode,而继续在Visual Studio之中使用C#与.NET Framework进行。
Xamarin Studio是一个用C#语言开发跨平台应用的集成开发环境,它和iOS以及Android SDK紧密整合。

3. VS中注释快捷键

注释:先CTRL+K,然后CTRL+C

取消注释: 先CTRL+K,然后CTRL+U

2. 未初始化变量的输出结果

int i ;

printf("i=%d\n",i) ;

cout<

结果为-858993460 即0xCCCCCCCC

1. VS调试的时候命令符窗口一闪而过,看不到自己的调试结果怎么办?

system("pause");   

或者这样:

Console.Readline();

你可能感兴趣的:(Visual Studio Problems)