我正在尝试将旧版Visual Studio(VS 2006)中编写的代码迁移到2015版本,我偶然发现了多个文件中的错误。
#ifndef C_I3E_TYPE_ARRAY_H_
#define C_I3E_TYPE_ARRAY_H_
#include "C_I3E_Type.h"
class C_I3E_Type_Array:public C_I3E_Type {
protected:
virtual void Read(FILE *p_Stream);
unsigned int m_High_Bound;}
关于 Read 方法。
#include "StdAfx.h"
#include "C_I3E_Type_Array.h"
#include "C_I3E_File.h"
#include "C_I3E_Module.h"
C_I3E_Type_Array::Read(FILE *p_Stream){
unsigned int linked_type_index;
//Get the Type Index
linked_type_index = Read_Numeric_Format(p_Stream);
m_Linked_Type = m_Parent->Get_Type_ByIndex(linked_type_index);
//Get the High Bound value of the array
m_High_Bound = Read_Numeric_Format(p_Stream);}
它一直向我发送此错误:
严重级代码描述项目文件行抑制状态 错误C4430缺少类型说明符 - 假定为int。注意:C ++没有 支持default-int MaskGen d:\ temp \ bll \ maskgen_whole_wo_dll \ maskgen_all_classes_enabled \ maskgen \ classes \ c_i3e \ C_I3E_Type_Array.h 9
答案 0 :(得分:0)
该错误非常具有描述性,请考虑以下行:
C_I3E_Type_Array::Read(FILE *p_Stream) {
在头文件中,有一个void
。所以它应该是:
void C_I3E_Type_Array::Read(FILE *p_Stream) {
答案 1 :(得分:0)
#include "C_I3E_File.h"
。在void
定义之前添加Read()
。