请大虾们帮我把我这个简单程序编译过去?
#include <iostream>
using namespace std;
class MyData
{
public:
float fd[10][10];
public:
float(*GetAdr())[7]
{
return fd;
}
};
int main()
{
MyData md;
md.fd[0][0]=1;
md.fd[0][1]=1;
float * pf[7];
pf=md.GetAdr();
cout < <*(*pf+1) < <endl;
return 0;
}
[解决办法]
#include <iostream>
using namespace std;
class MyData
{
public:
float fd[10][10];
public:
float *GetAdr()
{
return (float*)fd;
}
};
int main()
{
MyData md;
md.fd[0][0]=1;
md.fd[0][1]=1;
float * pf;
pf=md.GetAdr();
cout < <*((*(float (*)[10])pf)+1) < <endl;
return 0;
}
[解决办法]
#include <iostream>
using namespace std;
class MyData
{
public:
float fd[10][10];
public:
float (*GetAdr())[10]
{
return fd;
}
};
int main()
{
MyData md;
md.fd[0][0]=1;
md.fd[0][1]=1;
float (* pf)[10];
pf=md.GetAdr();
cout < <*(*pf+1) < <endl;
return 0;
}
[解决办法]
#include <iostream>
using namespace std;
typedef float float_10[10];
class MyData
{
public:
float_10 fd[10];
public:
float_10* GetAdr()
{ return fd; }
};
int main()
{
MyData md;
float_10* pf;
md.fd[0][0] = 1;
md.fd[0][1] = 2;
pf = md.GetAdr();
cout < < pf[0][1] < <endl;
getchar();
return 0;
}
[解决办法]
指针和语法不是用来折磨人的,能简化时尽量简化。
[解决办法]
受教了 :)