fatal error C1001: 编译器中发生内部错误

[复制链接]
查看11 | 回复1 | 2012-4-7 09:13:49 | 显示全部楼层 |阅读模式
请看下面一个小程序,所有文件只有stdafx.h和stdafx.cpp和结力作业.cpp
下面是结力作业.cpp中的内容,我用的是Visual Studio 2005。
#include "stdafx.h"
#include
using namespace std;
void STATICS();
//void T();//矩阵转置的计算
class stick
{
public:
int NUM;
float L;
float F;
float q;
float EI;
int b[2];//定位向量

float P[2];//等效荷载
void PP();//计算两端的等效弯矩
};
void stick::PP()
{
P[0]=(float)((-1)*(F*L)/8+(-1)*q*q*L/12);
P[1]=(float)((F*L)/8+q*q*L/12);
}
void STATICS()
{
int numofs,numofx;
stick *p_l;
cout>numofx;
cout>numofs;
float a[20][20]={},K[20][20]={},F[20]={},b[2][2]={};
float A;
p_l=new stick[20];
coutp_l.NUM>>p_l.L>>p_l.EI>>p_l.F>>p_l.q;
cout>p_l.b[0]>>p_l.b[1];
A=(float)2*p_l.EI/p_l.L;
b[0][0]=2*A;b[0][1]=A;

b[1][0]=A;b[1][1]=2*A;
for(int h=0;h<numofx-1;h++)//计算等效节点力
{
F[h]+=p_l.P[0];
F[h+1]+=p_l.P[1];
}

for(int j=0,k=0;j<2;j++)
for(;k<2;k++)
a[p_l.b[j]][p_l.b[k]]+=b[j][k];

for(int i=0,j=0;i<numofs+1;i++)
{
for(;j<numofs+1;j++)

cout<<a[j]<<"";
cout<<endl;
}
for(int i=0,j=0;i<numofs;i++)

for(;j<numofs+1;j++)
K[j]=a[i+1][j+1];
cout<<"求得整体刚度矩阵为:"<<endl;
for(int i=0,j=0;i<numofs;i++)
{
cout<<endl;

for(;j<numofs;j++)
cout<<K[j]<<' ';
}
cout<<endl;
cout<<"等效节点力为:"<<endl;
for(int t=0;t<numofx;t++)
cout<<F[t]<<" ";
cout<<endl;
delete[]p_l;
}
int _tmain(int argc, _TCHAR* argv[])
{
STATICS();
return 0;
}
编译就会出现fatal error C1001: 编译器中发生内部错误。,为什么呢?这个程序昨天还可以运行。

回复

使用道具 举报

千问 | 2012-4-7 09:13:49 | 显示全部楼层
你可以试一下,选中文件点击右键,然后选择删除,它就会把原来生成的文件删除掉,然后在运行就可以了。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行