以下代码不能被VC++和clang编译。
int f()
{
return 0;
}
int main()
{
// error : called object type 'int' is not a function or function pointer
int f = f();
}
在某些情况下是必要的。例如,我有一个计算字符串字符数的函数,名为count
,但是,另一个函数参数也被命名为count
。
size_t count(char* sz)
{
return strlen(sz);
}
bool check_count(char* sz, size_t count)
{
return count == count(sz); // ???
}
如何解决这个问题?