我拿里错了啊
#include <iostream.h>
#include <iomanip.h>
void main( ){
int a[3][6]={{1,2,3,4,5,6},{7,8,9,10,11,12}, {13,14,15,16,17,18}};
int * ptr,i;
/* * * * * * * * *found * * * * * * * * * */
int ptr =*a; //出错行
for(i=0;i <18;i++){
cout < <setw(2) < <*(ptr+i);
/* * * * * * * * *found * * * * * * * * * */
cout < <setw(2) < <*(a+i);
if(i%6==5) cout < <endl;
}
}
Cpp1.cpp
d:\kc\cpp1.cpp(7) : error C2040: 'ptr ' : 'int ' differs in levels of indirection from 'int * '
d:\kc\cpp1.cpp(7) : error C2440: 'initializing ' : cannot convert from 'int [6] ' to 'int '
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
执行 cl.exe 时出错.
Cpp1.exe - 1 error(s), 0 warning(s)
[解决办法]
你的ptr 怎么定义两次?
int * ptr,i;
int ptr =*a;
[解决办法]
题目写错了,应该是“我哪里错了啊”,嘿嘿
这是改正以后的代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main( )
{
int a[3][6]={{1,2,3,4,5,6},{7,8,9,10,11,12}, {13,14,15,16,17,18}};
int * ptr,i;
/* * * * * * * * *found * * * * * * * * * */
ptr =*a; //³ö´íÐÐ
for(i=0;i <18;i++)
{
cout < <setw(2) < <*(ptr+i);
/* * * * * * * * *found * * * * * * * * * */
cout < <setw(2) < <*(a+i);
if(i%6==5)
cout < <endl;
}
return 0;
}