#include<iostream>
using namespace std;
int main()
{
const int k = 10;
// Capture k by value
auto myl = [k] (int k) { cout << " ++k=" << ++k ; };
myl(k+10);
}
Run Code Online (Sandbox Code Playgroud)
错误如下
lamda.cpp: In lambda function:
lamda.cpp:10:50: error: increment of read-only variable âkâ
auto myl = [k] (int k) { cout << " ++K=" << ++k ; };
Run Code Online (Sandbox Code Playgroud)
显然我所指的是局部变量K而不是const成员K.
在我们的团队中,我们希望限制在全局范围内在标题中添加"using namespace"的做法,因为这不是一个好的做法,并且经常导致名称冲突和名称空间污染.
在gcc中是否有一种方法可以限制在编译时在头文件中添加命名空间的这种做法?
我的意思是当编译器在标题"using namespace"中看到全局范围时会收到某种警告.
谢谢