c++头文件的错误

</pre><pre code_snippet_id="633939" snippet_file_name="blog_20150402_7_60694" name="code" class="cpp">
Error	114	error C1003: error count exceeds 100; stopping compilation	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	164
Error	6	error C2059: syntax error : ')'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	7
Error	12	error C2061: syntax error : identifier 'DATATYPE'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	15
Error	14	error C2061: syntax error : identifier 'DATATYPE'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	16
Error	16	error C2061: syntax error : identifier 'DATATYPE'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	17
Error	18	error C2061: syntax error : identifier 'DATATYPE'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	19
Error	74	error C2061: syntax error : identifier 'DATATYPE'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	106
Error	79	error C2061: syntax error : identifier 'DATATYPE'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	123
Error	3	error C2065: 'DATATYPE' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	7
Error	24	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	37
Error	43	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	52
Error	48	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	57
Error	86	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	139
Error	88	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	142
Error	92	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	145
Error	94	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	146
Error	112	error C2065: 'inpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	164
Error	11	error C2065: 'interpolateX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	15
Error	26	error C2065: 'interpolateX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	38
Error	47	error C2065: 'interpolateX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	57
Error	52	error C2065: 'interpolateX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	111	error C2065: 'interpolateX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	164
Error	13	error C2065: 'interpolateY' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	16
Error	27	error C2065: 'interpolateY' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	39
Error	60	error C2065: 'interpolateY' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	71	error C2065: 'outpoints' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	62
Error	15	error C2065: 'outputX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	17
Error	51	error C2065: 'outputX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	68	error C2065: 'outputX' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	61
Error	59	error C2065: 'outputY' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	69	error C2065: 'outputY' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	61
Error	19	error C2065: 'p0' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	30
Error	53	error C2065: 'p0' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	61	error C2065: 'p0' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	75	error C2065: 'p0' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	114
Error	80	error C2065: 'p0' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	128
Error	20	error C2065: 'p1' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	30
Error	55	error C2065: 'p1' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	63	error C2065: 'p1' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	76	error C2065: 'p1' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	115
Error	81	error C2065: 'p1' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	129
Error	21	error C2065: 'p2' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	30
Error	56	error C2065: 'p2' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	64	error C2065: 'p2' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	77	error C2065: 'p2' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	116
Error	82	error C2065: 'p2' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	130
Error	22	error C2065: 'p3' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	30
Error	57	error C2065: 'p3' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	65	error C2065: 'p3' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	78	error C2065: 'p3' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	116
Error	83	error C2065: 'p3' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	130
Error	73	error C2065: 'temp' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	62
Error	84	error C2065: 'tension' : undeclared identifier	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	130
Error	33	error C2086: 'const int Point2d' : redefinition	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	47
Error	37	error C2086: 'const int Point2d' : redefinition	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	48
Error	41	error C2086: 'const int Point2d' : redefinition	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	49
Error	101	error C2086: 'const int Point2d' : redefinition	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	155
Error	105	error C2086: 'const int Point2d' : redefinition	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	156
Error	109	error C2086: 'const int Point2d' : redefinition	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	157
Error	7	error C2143: syntax error : missing ';' before '{'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	8
Error	4	error C2146: syntax error : missing ')' before identifier '_x'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	7
Error	29	error C2146: syntax error : missing ';' before identifier 'p0'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	46
Error	97	error C2146: syntax error : missing ';' before identifier 'p0'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	154
Error	32	error C2146: syntax error : missing ';' before identifier 'p1'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	47
Error	100	error C2146: syntax error : missing ';' before identifier 'p1'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	155
Error	36	error C2146: syntax error : missing ';' before identifier 'p2'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	48
Error	104	error C2146: syntax error : missing ';' before identifier 'p2'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	156
Error	40	error C2146: syntax error : missing ';' before identifier 'p3'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	49
Error	108	error C2146: syntax error : missing ';' before identifier 'p3'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	157
Error	67	error C2146: syntax error : missing ';' before identifier 'temp'	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	61
Error	45	error C2227: left of '->t' must point to class/struct/union/generic type	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	52
Error	50	error C2227: left of '->t' must point to class/struct/union/generic type	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	57
Error	90	error C2227: left of '->t' must point to class/struct/union/generic type	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	142
Error	46	error C2228: left of '.cbegin' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	52
Error	49	error C2228: left of '.cbegin' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	57
Error	91	error C2228: left of '.cbegin' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	142
Error	113	error C2228: left of '.cbegin' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	164
Error	44	error C2228: left of '.end' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	52
Error	89	error C2228: left of '.end' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	142
Error	72	error C2228: left of '.push_back' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	62
Error	25	error C2228: left of '.size' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	37
Error	87	error C2228: left of '.size' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	139
Error	54	error C2228: left of '.t' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	93	error C2228: left of '.t' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	145
Error	62	error C2228: left of '.value' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	95	error C2228: left of '.value' must have class/struct/union	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	146
Error	8	error C2447: '{' : missing function header (old-style formal list?)	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	8
Error	2	error C2653: 'Point2d' : is not a class or namespace name	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	7
Error	9	error C2653: 'Spline' : is not a class or namespace name	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	12
Error	23	error C2653: 'Spline' : is not a class or namespace name	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	35
Error	85	error C2653: 'Spline' : is not a class or namespace name	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	137
Error	58	error C2660: 'getYbyXforhermitecubicspline' : function does not take 5 arguments	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	58
Error	66	error C2660: 'getYbyXforhermitecubicspline' : function does not take 5 arguments	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	59
Error	30	error C3861: 'p0': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	46
Error	98	error C3861: 'p0': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	154
Error	34	error C3861: 'p1': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	47
Error	102	error C3861: 'p1': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	155
Error	38	error C3861: 'p2': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	48
Error	106	error C3861: 'p2': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	156
Error	42	error C3861: 'p3': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	49
Error	110	error C3861: 'p3': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	157
Error	70	error C3861: 'temp': identifier not found	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	61
Error	5	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	7
Error	10	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	13
Error	28	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	46
Error	31	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	47
Error	35	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	48
Error	39	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	49
Error	96	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	154
Error	99	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	155
Error	103	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	156
Error	107	error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:\users\devuser.devuser-pc\downloads\57578849draw-bezier\...\spline.cpp	157
</pre><pre code_snippet_id="633939" snippet_file_name="blog_20150402_7_60694" name="code" class="cpp">
</pre><pre code_snippet_id="633939" snippet_file_name="blog_20150402_7_60694" name="code" class="cpp">

出现以上批量化的错误,可以看出是头文件包括失败,于是写个测试的程序,怀疑是两个类的问题?、

#include "TestTwoClass.h"
#include <iostream>

TestTwoClass::TestTwoClass(void)
{
	std::cout<<"Hello"<<std::endl;
}


TestTwoClass::~TestTwoClass(void)
{
		std::cout<<"Hello"<<std::endl;
}
Point2d::Point2d(int a ,int b)
{
		std::cout<<"Hello"<<std::endl;
}

int main()
{
	TestTwoClass *a =new TestTwoClass();
	Point2d *p =new Point2d(1,2);
	Point2d p2(3,4);
	system("pause");

}


#pragma once


class TestTwoClass
{
public:
	TestTwoClass(void);
	~TestTwoClass(void);
};
class Point2d
{
public:
	int a;
	int b;
	Point2d(int a ,int b);

};


编译通过




于是把其中的典型错误Google一下


https://social.msdn.microsoft.com/Forums/vstudio/en-US/3935d05b-7903-4f7a-a97b-766f6a78bb7a/error-c4430-missing-type-specifier-int-assumed-note-c-does-not-support-defaultint?forum=vcgeneral


发现还是头文件的问题,

#include "Spline.h"
#include"stdafx.h"
#define M 100
发现.cpp文件中这样包含的,头文件的顺序不对

#include"stdafx.h"
#include "Spline.h"

改成这样,编译通过


使用标准的头文件包含顺序可增强可读性, 避免隐藏依赖。
《Google C++ Style Guide》推荐顺序:(对xxx.cpp)
xxx.h
C 系统文件
C++ 系统文件
其他库的 .h 文件
本项目内 .h 文件
《C++编程思想》推荐顺序:(对xxx.cpp)从最特殊到最一般。
xxx.h
本项目内 .h 文件
其他库的 .h 文件
C++ 系统文件
C 系统文件









                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值