注册 登录
编程论坛 C++教室

用find做变量名不行吗

dreffy 发布于 2013-05-24 00:19, 744 次点击
#include<iostream>
using namespace std;
bool find;
int main()
{
    find=false;
    return 0;
}
编译时说main中的find没有定义,换成其他变量名就行了,为什么??
5 回复
#2
lzj125302013-05-24 08:09
没错啊,你用的什么编译器
#3
justlxy2013-05-24 16:55
当然可以了,变量名只要符合标识符的命名规则(并且与文件引用命名空间(如std)及编译系统默认的关键标识符(如int while new等)不同名即可)。
楼主给出的程序没有任何问题,出现报错的原因可能是因为在编译此程序时,没有关闭前一个程序的工作空间,而导致前后两个程序联编了或是你下载的编译器有问题了。
#4
锋了2013-05-24 20:34
把它放到main里面
#5
邓士林2013-05-24 23:13
没和系统的冲突,没什么不可以啊
#6
pangding2013-05-28 13:05
std 里是有 find 这个方法的。虽然没包头文件,但是是很难确定 <iostream> 会不会间接包涵到。

处理方法最科学的应该是使用不同的名空间,或者不全把 std 空间中的全部对象都引入(即是说不要用 using namespace std 这样的语句)。
或者是尽量使用局部变量,这样局部定义的变量可以覆盖大范围的。当然为了不发生混淆,不使用和 std 重名的对象名字是个好习惯。

说 find 没有定义有点奇怪。你能加编译器提供的完整错误信息给出来么?


[ 本帖最后由 pangding 于 2013-5-28 13:07 编辑 ]
1