我在一个int main(int argc, char* argv<::>)也可以用作签名的网站上看到过main.令人惊讶的是,以下程序:
int main(int argc, char* argv<::>)
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编制输出GCC中的任何警告,以及铿锵声.它也用C++编译.
那么,它int main(int argc, char* argv<::>)是如何有效的签名main?
可能重复:
<:无法开始模板参数列表
你知道吗
int a<:10:>;
Run Code Online (Sandbox Code Playgroud)
相当于
int a[10];
Run Code Online (Sandbox Code Playgroud)
?
我正在编写一些代码,其中我有一个全局命名空间和一个受限制的命名空间,现在说NS1.我在我的全局命名空间中有一个名为Module的类,我在NS1中导入了一些其他库,它们也有一个名为Module的类.我试图创建我的模块的std :: list,即在NS1中的一个函数内部的:: Module,这样做,我得到了这个编译错误
std::list<::Module*> &myModule;
genllvm.cpp:60:11: error: ‘<::’ cannot begin a template-argument list
./genllvm.cpp:60:11: note: ‘<:’ is an alternate spelling for ‘[’. Insert whitespace between ‘<’ and ‘::’
./genllvm.cpp:60:11: note: (if you use ‘-fpermissive’ G++
Run Code Online (Sandbox Code Playgroud)
这个"<:"语法有什么意义?