mingw中存在奇怪的语法缺陷
Strange syntax flaw in mingw
第23行-cout<"不会给出任何错误,而是删除此语句会产生异常输出。我已经在使用mingw32的CodeBlocks中尝试过了。当我去掉它时-进程返回1984687287(0x764DF487)
#include<iostream>
#include<stdio.h>
using namespace std;
int ispalin(long num)
{
long sum=0,n;
short rem;
n=num;
while(n>0) {
rem=n%10;
sum=sum*10+rem;
n/=10;
}
if(sum==num)return 1;
return 0;
}
int main()
{
int n=1;
for(int i=999;i>=1;i--) {
for(int j=999;j>=1;j--)
{
if((i*j)<=n)
{
cout<""; // LINE 23
break;
}
if((i*i)<=n)
{
printf("%d",n);
return 0;
}
if(ispalin(i*j))
{
n=i*j;
cout<<n<<"n";
break;
}
}
}
return 1;
}
对于插入运算符
if((i*j)<=n){
cout<<"";
^ Need one more <
...
}
在某些平台上,cout
(隐式void*
)对象可能会与空字符串进行比较,其中<
给出布尔语句
它给我带来了Mingw 4.7.2 的错误
它不会给出错误,因为它是一个合法的语句,尽管没有结果。CCD_ 4对象可以隐式转换为CCD_。因此,该表达式导致void*
和const char*
之间的比较,这是合法的。
至于你删除语句时的错误,我无法复制它。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 助记符和指向成员语法的指针
- 有人能分解一下这个c++模板的语法吗
- C++避免重复声明的语法是什么
- QMetaObject invokeMethod的基于函数指针的语法
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 当基类是依赖类型时,这是一个缺陷吗
- 单独定义模板化嵌套类方法的正确语法
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- 使用基类指针调用基类的值构造函数的语法是什么?
- 很好的语法来获取对向量/数组数据的大小引用?
- C++语法运算符功能?
- C++使用 rand 定义函数语法
- 什么文件可以修改 atom 的C++语法?
- C++图形初始化错误(语法或丢失文件缺陷?
- mingw中存在奇怪的语法缺陷