使用try..catch时出现C3867

编译器:VS2015

我的代码:

#include <boost/lexical_cast.hpp>
#include <iostream>
using namespace std;
using namespace boost;
using boost::lexical_cast;

int main()
{
	int i;

	try
	{
		i = lexical_cast<int>("abc");
	}
	catch (bad_lexical_cast& e)
	{
		cout << e.what << endl;
		return 1;
	}
	cout << i << endl;

	return 0;
}


不知道为什么会出现这个错误,我的代码是从某网站CTRL+C出来的,不可能报错啊?

参考一个文章:https://msdn.microsoft.com/zh-cn/library/b0x1aatf.aspx

将“e.what”修改为:“e.what()”


完整代码:

#include <boost/lexical_cast.hpp>
#include <iostream>
using namespace std;
using namespace boost;
using boost::lexical_cast;

int main()
{
	int i;

	try
	{
		i = lexical_cast<int>("abc");
	}
	catch (bad_lexical_cast& e)
	{
		cout << e.what() << endl; //注意这里
		return 1;
	}
	cout << i << endl;

	return 0;
}


Office2016 365注册方法



本人在网上逛了一圈都没有找到Office2016 365的注册方法,现在给大家分享一下。

1、

2、

输入:BN346-KPVRG-HHQG3-6YDPV-8HV7H

点击<安装本产品>


等待下载完毕即可。


关于VC++中的字符/串类型

typedef LPWCH LPTCH, PTCH;
typedef LPCWCH LPCTCH, PCTCH;
typedef LPWSTR PTSTR, LPTSTR;
typedef LPCWSTR PCTSTR, LPCTSTR;
typedef LPUWSTR PUTSTR, LPUTSTR;
typedef LPCUWSTR PCUTSTR, LPCUTSTR;
typedef LPWSTR LP;
typedef PZZWSTR PZZTSTR;
typedef PCZZWSTR PCZZTSTR;
typedef PUZZWSTR PUZZTSTR;
typedef PCUZZWSTR PCUZZTSTR;
typedef PNZWCH PNZTCH;
typedef PCNZWCH PCNZTCH;
typedef PUNZWCH PUNZTCH;
typedef PCUNZWCH PCUNZTCH;


一般常用的是LPCSTR LPCWSTR