关于 error C2064: 项不会计算为接受 1 个参数的函数。我是安装孙鑫vc代码++深入详解 第二章最后 直接来的

关于C++primer(第5版)的一个问题
#include&functional&
#include&iostream&
#include&vector&
template &typename T&
int compare( const T &v1 , const T &v2 )
&if( less&T&()(v1 & v2) )return -1;
&if( less&T&()(v2 & v1) )return 1;
&return 0;
int main()
&int *p1 , *p2;
&int a1[10];
&cout && compare( p1,p2 ) &&
请问这段代码为什么在VS2013.1中无法通过?是不是因为VS2013还不能很好的支持C++11标准?好郁闷呀!
VS2013.1给出的信息:
1&------ 已启动生成:& 项目: 581, 配置: Debug Win32 ------
1&C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(381,5): warning MSB8028: The intermediate directory (Debug\) contains files shared from another project (ConsoleApplication1.vcxproj).& This can lead to incorrect clean
and rebuild behavior.
1&& 源.cpp
1&c:\users\鸿霸天下\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\源.cpp(8): error C2064: 项不会计算为接受 1 个参数的函数
1&&&&&&&&&& 类不会将“operator()”或用户定义的转换运算符定义到指向函数的指针或指向函数的引用(它们接受适当数量的参数)
1&&&&&&&&&& c:\users\鸿霸天下\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\源.cpp(18): 参见对正在编译的函数 模板 实例化“int compare&int*&(const T &,const T &)”的引用
1&&&&&&&&&& with
1&&&&&&&&&& [
1&&&&&&&&&&&&&& T=int *
1&&&&&&&&&& ]
1&c:\users\鸿霸天下\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\源.cpp(9): error C2064: 项不会计算为接受 1 个参数的函数
1&&&&&&&&&& 类不会将“operator()”或用户定义的转换运算符定义到指向函数的指针或指向函数的引用(它们接受适当数量的参数)
========== 生成:& 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
注:该代码的出处:《C++primer(第5版)(中文版)》第581页
既不是VS2013不能很好的支持C++11标准,也不是书上有错误。你仔细看一下,581页上的例子是那么写的么?那例子是:
if(less&T&()(V1, V2)) return -1;
你写的是:
if(less&T&()(V1 & V2)) return -1;
头文件里面的定义是:auto operator()(_Ty1&& _Left, _Ty2&& _Right) const
显然这是一个有两个参数的函数,而你那个 V1&V2 相当于一个bool,当然不可能正常编译了。Shi Xin
是一款免费图片浏览器,完全支持触摸操作,赶快来下载吧。
已标记为答案
我现在手边没有《C++primer(第5版)(中文版)》这本书。
你可以用下面的代码:
#include &stdafx.h&
#include&functional&
#include&iostream&
#include&vector&
template &typename T& int compare(const T &v1, const T &v2)
/*if (less&T&()(v1 & v2)) return -1;
if (less&T&()(v2 & v1)) return 1;
return 0;*/
if (v1 & v2) return -1;
if (v2 & v1) return 1;
int main()
int *p1, *p2;
int a1[10];
cout && compare(p1, p2) &&
这下面是结果截图:
既不是VS2013不能很好的支持C++11标准,也不是书上有错误。你仔细看一下,581页上的例子是那么写的么?那例子是:
if(less&T&()(V1, V2)) return -1;
你写的是:
if(less&T&()(V1 & V2)) return -1;
头文件里面的定义是:auto operator()(_Ty1&& _Left, _Ty2&& _Right) const
显然这是一个有两个参数的函数,而你那个 V1&V2 相当于一个bool,当然不可能正常编译了。Shi Xin
是一款免费图片浏览器,完全支持触摸操作,赶快来下载吧。
已标记为答案
Microsoft 正在进行一项网上调查,以了解您对 Msdn 网站的意见。如果您选择参加,我们将会在您离开 Msdn 网站时向您显示该网上调查。是否要参加?
<input type="hidden" id="hdnTrackerText" value="请不要关闭此窗口。谢谢!完成访问时,调查将显示在此处,所以请不要关闭此窗口。" />int i,j; for(i=0;i&iCityCi++) for (j=0;j&iCityCj++) { { Map.distance[i][j]=sqr_百度知道
int i,j; for(i=0;i&iCityCi++) for (j=0;j&iCityCj++) { { Map.distance[i][j]=sqr
int i,j; for(i=0;i&iCityCi++)
for (j=0;j&iCityCj++)
Map.distance[i][j]=sqrt(pow ((cc[i].x-cc[j].x),2)+pow((cc[i].y-cc[j].y),2));
}运行候提示cpp(252): error C2064: 项计算接受 2 参数函数
提问者采纳
参数名函数名相同吧另外需加文件&math.h&
你可以给我看看嘛?Q
提问者评价
........................
其他类似问题
distance的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于在类中引用自定义结构的函数的问题。
[问题点数:100分]
关于在类中引用自定义结构的函数的问题。
[问题点数:100分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2014年2月 C/C++大版内专家分月排行榜第二2013年4月 C/C++大版内专家分月排行榜第二2013年3月 C/C++大版内专家分月排行榜第二2012年12月 C/C++大版内专家分月排行榜第二2012年11月 C/C++大版内专家分月排行榜第二2012年8月 C/C++大版内专家分月排行榜第二
2014年12月 C/C++大版内专家分月排行榜第三2014年5月 C/C++大版内专家分月排行榜第三2014年3月 C/C++大版内专家分月排行榜第三2013年12月 C/C++大版内专家分月排行榜第三2013年10月 C/C++大版内专家分月排行榜第三2013年9月 C/C++大版内专家分月排行榜第三2013年7月 C/C++大版内专家分月排行榜第三2013年5月 C/C++大版内专家分月排行榜第三2013年2月 C/C++大版内专家分月排行榜第三2013年1月 C/C++大版内专家分月排行榜第三2012年9月 C/C++大版内专家分月排行榜第三
2013年7月 C/C++大版内专家分月排行榜第一
2013年6月 C/C++大版内专家分月排行榜第二
2014年5月 VC/MFC大版内专家分月排行榜第二2014年3月 VC/MFC大版内专家分月排行榜第二2013年10月 VB大版内专家分月排行榜第二2013年7月 VB大版内专家分月排行榜第二2012年5月 VB大版内专家分月排行榜第二2012年4月 VB大版内专家分月排行榜第二2012年2月 VB大版内专家分月排行榜第二2011年11月 VB大版内专家分月排行榜第二
2014年1月 VC/MFC大版内专家分月排行榜第三2012年3月 VB大版内专家分月排行榜第三2011年12月 VB大版内专家分月排行榜第三2011年10月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。void ResetAdapter(char * AdapterName) {
struct _GUID guid = {0xBA126AD1,0xD1,0};
memcpy(guid.Data4, "\xB1\xD0\x00\x80\x5F\xC1\x27\x0E", 8);
unsigned short * buf = new unsigned short[strlen(AdapterName)+1];
void (__stdcall *NcFreeNetConProperties) (NETCON_PROPERTIES *);
HMODULE NetShell_Dll = LoadLibrary("Netshell.dll");
if (!NetShell_Dll) {
printf("无法加载Netshell.dll。\n");
NcFreeNetConProperties = (void (__stdcall *)(struct tagNETCON_PROPERTIES *))GetProcAddress(NetShell_Dll, "NcFreeNetconProperties");
if (!NcFreeNetConProperties) {
printf("无法加载需要的动态链接库函数!\n");
for (unsigned int i = 0; i &= strlen(AdapterName); i++) {
buf[i] = AdapterName[i];
CoInitialize(0);
INetConnectionManager * pNCM = NULL;
HRESULT hr = ::CoCreateInstance(guid,
CLSCTX_ALL,
__uuidof(INetConnectionManager),
(void**)&pNCM);
if (!pNCM)
printf("无法列出需要的对象!\n");
IEnumNetConnection * pENC;
pNCM-&EnumConnections(NCME_DEFAULT, &pENC);
if (!pENC) {
printf("无法枚举网络连接!\n");
INetConnection * pNC;
NETCON_PROPERTIES * pNCP;
pENC-&Next(1, &pNC, &fetched);
if (fetched && pNC) {
pNC-&GetProperties(&pNCP);
if (pNCP) {
if (wcscmp(pNCP-&pszwName, buf) == 0) {
pNC-&Disconnect();
pNC-&Connect();
NcFreeNetConProperties(pNCP);
} while (fetched);
pENC-&Release();
pNCM-&Release();
FreeLibrary(NetShell_Dll);
CoUninitialize ();
------解决方案--------------------
两出错误主要是类型不一直,可以加个强制转换就可以解决了
C语言自定义头文件中定义数组异常,求解答!多谢
C语言自定义头文件中定义数组错误,求解答!谢谢以下是自定义的头文件UserHeader.h[code=C/C++][/code]#ifndef USER_HEADER_H#define USER_HEADER_Hconst int MAX
= 255;extern int iVextern int arr[MAX];
//这是声明的数组..#endif以下是定义的.cpp文件[code=C/C++][/code]#include &StdAfx.h&#include "stdio.h"#pragma
#include "userHeader.h"int iVal = 33;
//这个可以for(int i = 0; i & MAX; i++ ){ arr[i] =
//这样赋值为什么不行,求解答?}以下是错误:F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2143: syntax error : missing ';' before 'for'F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2143: syntax error : missing ')' before ';'F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2143: syntax error : missing ';' before '&'F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2501: 'i' : missing storage-class or type specifiersF:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2143: syntax error : missing ';' before '&'F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2143: syntax error : missing ';' before '++'F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2501: 'i' : missing storage-class or type specifiersF:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2086: 'i' : redefinitionF:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2143: syntax error : missing ';' before '++'F:\temp\2012年6月\testDemo\userHeader.cpp(10) : error C2059: syntax error : ')'F:\temp\2012年6月\testDemo\userHeader.cpp(11) : error C2143: syntax error : missing ';' before '{'F:\temp\2012年6月\testDemo\userHeader.cpp(11) : error C2447: missing function header (old-style formal list?)Generating Code...Error executing cl.exe.testDemo.exe - 12 error(s), 0 warning(s)网上查了,都说是定义的问题,但是仍然没有解决,急用,求解释!------解决方案--------------------
你没定义啊。。。int iVal = 33; //这个可以下面加int arr[MAX];
vs2010 sql2008 msjro.tlh(196): error C2146: 语法异常: 缺少“;”
vs2010 sql2008 msjro.tlh(196): error C2146: 语法错误: 缺少“;”使用VS2010和sql2008数据库,使用ado2 类开发应用程序,编译时提示如下错误,如何解决????&\msjro.tlh(196): error C2146: 语法错误: 缺少“;”(在标识符“ConflictTables”的前面)1&\msjro.tlh(196): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1&\msjro.tlh(196): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1&\msjro.tlh(224): error C2146: 语法错误: 缺少“;”(在标识符“GetConflictTables”的前面)1&\msjro.tlh(224): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1&\msjro.tlh(224): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1&\msjro.tlh(224): warning C4183: “GetConflictTables”: 缺少返回类型;假定为返回“int”的成员函数1&\msjro.tli(111): error C2143: 语法错误 : 缺少“;”(在“IReplica::GetConflictTables”的前面)1&\msjro.tli(111): error C2433: “_RecordsetPtr”: 不允许在数据声明中使用“inline”1&\msjro.tli(111): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1&\msjro.tli(111): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1&\msjro.tli(115): error C2064: 项不会计算为接受 2 个参数的函数1&\ado2.h(145): error C2872: “_RecordsetPtr”: 不明确的符号------解决方案--------------------
代码发一下,看看哪里出的错。
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:矩阵赋值如何写(不用循环)?
[问题点数:20分]
矩阵赋值如何写(不用循环)?
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 孙鑫vc代码 的文章

 

随机推荐