#include "stdafx.h"
#include<iostream>
using namespace std;
int f1(int);
int main(int argc, char* argv[])
{
int f1;
cin>>f1;
cout<<f1(f1);
return 0;
}
int f1(int x)
{
return x+x;
}
显示rror C2064: term does not evaluate to a function。
但把名字随便一改又可以,麻烦会的解释下
25 个解决方案
#1
你让编译器怎么判断?
二义性
二义性
#2
这也就是为什么出现那些命名规则的一个原因:不冲突。
比如成员变量用m_开头。
函数名大写开头等。
比如成员变量用m_开头。
函数名大写开头等。
#3
我的习惯是成员函数加后缀下划线,看得清晰
#4
我也曾经考虑过这种命名方式,但从视觉上不够优雅。
比如:
A* a_;
a_->Func();
其中, _->看起来不爽。
记得有一个牛人推荐这种成员变量的命名风格,忘了是谁了...
#5
哦,好像是Exceptional C++的作者。
#6
a_->//眨眼睛了,多俏皮
#7
这个真是各有各的习惯,我看到有函数首字母大写的,首字母小写的。自己保持一种风格就好吧。
#8
很有想象力啊。
你这么一说,看起来比原来舒服多了!
你这么一说,看起来比原来舒服多了!
#9
骆驼命名法
成员变量 a_
函数 oneFuncForSomething
成员变量 a_
函数 oneFuncForSomething
#10
看到前缀后缀就不爽,但还得加。
#11
标志符 问题.....编译器没法识别...
#12
函数名大写开头???
应该是类名大写开头哦!!!
函数名开头是动词,变量名一般是名词。
应该是类名大写开头哦!!!
函数名开头是动词,变量名一般是名词。
#13
连命名规格都搞不清楚,好好看书吧。
#14
没必要这么玩
#15
把精力用在别的研究上、
#16
这个没必要试,没意义.
#17
这个就像规则一样,违犯就错,编译器不能识别。
#18
命名规则不必较真,每个人的习惯不一样,不同系统的命名规范也不一样.
windows较多的是单词首字母大写分割单词,linux则是小写+下划线,这个也不是绝对的,实际上你自己爱怎么写就怎么写,主要是自己保持风格就行.
我的习惯是类名加T前缀入TString,函数是首字母大写分割,成员变量+F前缀,如FFileName,你总不能说我这么命名的规则就是错误的吧.
实际上我的命名规则是根据我常用的ide风格保持一致的
#19
谢谢大家
#20
因为函数名可以当成该函数的函数指针来使用,跟数组名在这方面有些类似
int f1;
cin>>f1;
cout < <f1(f1); //这里编译器无法判断参数里的f1是int还是int(*)(int)
return 0;
int f1;
cin>>f1;
cout < <f1(f1); //这里编译器无法判断参数里的f1是int还是int(*)(int)
return 0;
#21
还是注意命名吧
#22
比如,魔兽??O(∩_∩)O~
#23
嗯,到了链接级别无论是全局变量名还是函数名都是符号,都表示一个地址,没有区别。只不过使用的时候函数是call这个地址,变量是movl从这个地址开始的四个字节。
#24
用匈牙利命名法来命名比较标准的。。。。那样别人看起来也比较容易懂。。。
#25
#include <iostream>
using namespace std;
int f1(int);
int main(int argc, char* argv[])
{
int f1;
cin>>f1;
cout <<::f1(f1);//加上::
return 0;
}
int f1(int x)
{
return x+x;
}
#1
你让编译器怎么判断?
二义性
二义性
#2
这也就是为什么出现那些命名规则的一个原因:不冲突。
比如成员变量用m_开头。
函数名大写开头等。
比如成员变量用m_开头。
函数名大写开头等。
#3
我的习惯是成员函数加后缀下划线,看得清晰
#4
我也曾经考虑过这种命名方式,但从视觉上不够优雅。
比如:
A* a_;
a_->Func();
其中, _->看起来不爽。
记得有一个牛人推荐这种成员变量的命名风格,忘了是谁了...
#5
哦,好像是Exceptional C++的作者。
#6
a_->//眨眼睛了,多俏皮
#7
这个真是各有各的习惯,我看到有函数首字母大写的,首字母小写的。自己保持一种风格就好吧。
#8
很有想象力啊。
你这么一说,看起来比原来舒服多了!
你这么一说,看起来比原来舒服多了!
#9
骆驼命名法
成员变量 a_
函数 oneFuncForSomething
成员变量 a_
函数 oneFuncForSomething
#10
看到前缀后缀就不爽,但还得加。
#11
标志符 问题.....编译器没法识别...
#12
函数名大写开头???
应该是类名大写开头哦!!!
函数名开头是动词,变量名一般是名词。
应该是类名大写开头哦!!!
函数名开头是动词,变量名一般是名词。
#13
连命名规格都搞不清楚,好好看书吧。
#14
没必要这么玩
#15
把精力用在别的研究上、
#16
这个没必要试,没意义.
#17
这个就像规则一样,违犯就错,编译器不能识别。
#18
命名规则不必较真,每个人的习惯不一样,不同系统的命名规范也不一样.
windows较多的是单词首字母大写分割单词,linux则是小写+下划线,这个也不是绝对的,实际上你自己爱怎么写就怎么写,主要是自己保持风格就行.
我的习惯是类名加T前缀入TString,函数是首字母大写分割,成员变量+F前缀,如FFileName,你总不能说我这么命名的规则就是错误的吧.
实际上我的命名规则是根据我常用的ide风格保持一致的
#19
谢谢大家
#20
因为函数名可以当成该函数的函数指针来使用,跟数组名在这方面有些类似
int f1;
cin>>f1;
cout < <f1(f1); //这里编译器无法判断参数里的f1是int还是int(*)(int)
return 0;
int f1;
cin>>f1;
cout < <f1(f1); //这里编译器无法判断参数里的f1是int还是int(*)(int)
return 0;
#21
还是注意命名吧
#22
比如,魔兽??O(∩_∩)O~
#23
嗯,到了链接级别无论是全局变量名还是函数名都是符号,都表示一个地址,没有区别。只不过使用的时候函数是call这个地址,变量是movl从这个地址开始的四个字节。
#24
用匈牙利命名法来命名比较标准的。。。。那样别人看起来也比较容易懂。。。
#25
#include <iostream>
using namespace std;
int f1(int);
int main(int argc, char* argv[])
{
int f1;
cin>>f1;
cout <<::f1(f1);//加上::
return 0;
}
int f1(int x)
{
return x+x;
}