我在这段代码中遇到编译错误
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
void main(int argc,char *argv[])
{
int i;
for(i = 0;i<10;i++)
fprintf(cout,"%d\n",i);
fprintf(cout,"abc:\n");
string s;
cin>>s;
if(s == "resume") {
for(i = 0;i<10;i++)
fprintf(cout,"%d\n",i);
}
}
Microsoft (R) 32 位 C/C++ 优化编译器版本 15.00.21022.08 for 80x86 版权所有 (C) Microsoft Corporation。保留所有权利。
尝试.cpp C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342):警告 C 4530:使用了 C++ 异常处理程序,但未启用展开语义。指定 /EHsc
try.cpp(9):错误 C2664:“fprintf”:无法从“std::osr”转换参数 1 eam' 到 'FILE *' 没有可以执行此转换的可用用户定义转换运算符 ersion,或者无法调用operator
try.cpp(10):错误 C2664:“fprintf”:无法从“std::ost”转换参数 1 令'到'文件*' 没有可以执行此转换的可用用户定义转换运算符 ersion,或者无法调用operator
try.cpp(16):错误 C2664:“fprintf”:无法从“std::ost”转换参数 1 令'到'文件*' 没有可以执行此转换的可用用户定义转换运算符 ersion,或者无法调用operator
怎么了?
最佳答案
您正在混淆 C++ 和 C 输出样式。将您的 fprintfs 更改为如下所示:
cout << "value is: " << i << "\n";
关于c++ - 对此 cpp 代码使用 cl.exe (Visual Studio 2008) 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642618/