error C2143: 语法错误 : 缺少“;”(在“CElectric::get”的前面)
#pragma once
class CElectric
{
public:
struct StackNode
{
double horizontal;
double vertical;
double horizontal_angle;
double vertical_angle;
double distance;
StackNode *next;
};
StackNode *head;
StackNode *tail;
public:
CElectric(void);
~CElectric(void);
void insert(double horizontal,double horizontal_angle,double vertical,double vertical_angle,double distance);
StackNode get();
};
#include "stdafx.h"
#include "Electric.h"
CElectric::CElectric(void)
{
head=new StackNode;
tail=new StackNode;
head->next=tail;
tail->next=head;
}
CElectric::~CElectric(void)
{
}
void CElectric::insert(double horizontal, double horizontal_angle, double vertical, double vertical_angle, double distance)
{
StackNode* new_StackNode;//完成的是在head后面添加
new_StackNode=new StackNode;
new_StackNode->next=head->next;
head->next=new_StackNode;
new_StackNode->vertical=vertical;
new_StackNode->horizontal=horizontal;
new_StackNode->horizontal_angle=horizontal_angle;
new_StackNode->vertical_angle=vertical_angle;
}
StackNode CElectric::get()
{
StackNode* temp;
StackNode electric;
temp=head->next;
electric.distance =temp->distance ;
electric.horizontal =temp->horizontal ;
electric.horizontal_angle =temp->horizontal_angle ;
electric.vertical=temp->vertical ;
electric.vertical_angle =temp->vertical_angle ;
head->next=head->next->next;
if(head->next==tail)//如果取空了
tail->next=head;
delete(temp);
//num--;
return electric;
}
1>d:\小小编程(important)\workspace\ray tracing0_0.root\ray tracing0_0\electric.cpp(28) : error C2143: 语法错误 : 缺少“;”(在“CElectric::get”的前面)
1>d:\小小编程(important)\workspace\ray tracing0_0.root\ray tracing0_0\electric.cpp(28) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\小小编程(important)\workspace\ray tracing0_0.root\ray tracing0_0\electric.cpp(29) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\小小编程(important)\workspace\ray tracing0_0.root\ray tracing0_0\electric.cpp(29) : error C2556: “int CElectric::get(void)”: 重载函数与“CElectric::StackNode CElectric::get(void)”只是在返回类型上不同