Arduino write library function Library error, why?

Ino file compiled no problem and downloaded to the board is normal, wanted to establish a library function, convenient later call into the. CPP and h a compile error, check for many times, Internet and database function related posts are also seen, Arduino.cc of the tutorial repeatedly read several times, about books read, or cannot be solved. The following is the 1.6.8 IDE error message:

Arduino:1.6.8 (Windows 7), 开发板:"Arduino Nano, ATmega328"

In file included from D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Print.h:27:0,

from D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Stream.h:26,

from D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\libraries\Wire\src/Wire.h:26,

from D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:3:

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Printable.h:25:1: error: unknown type name 'class'

class Print;

^

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Printable.h:33:1: error: unknown type name 'class'

class Printable

^

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Printable.h:34:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token

{

^

In file included from D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Stream.h:26:0,

from D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\libraries\Wire\src/Wire.h:26,

from D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:3:

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Print.h:34:1: error: unknown type name 'class'

class Print

^

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Print.h:35:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token

{

^

In file included from D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\libraries\Wire\src/Wire.h:26:0,

from D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:3:

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Stream.h:49:1: error: unknown type name 'class'

class Stream : public Print

^

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\cores\arduino/Stream.h:49:14: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

class Stream : public Print

^

In file included from D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:3:0:

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\libraries\Wire\src/Wire.h:33:1: error: unknown type name 'class'

class TwoWire : public Stream

^

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\libraries\Wire\src/Wire.h:33:15: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

class TwoWire : public Stream

^

D:\arduino-1.6.8-windows\arduino-1.6.8\hardware\arduino\avr\libraries\Wire\src/Wire.h:82:1: error: unknown type name 'TwoWire'

extern TwoWire Wire;

^

In file included from D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:4:0:

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811/CCS811.h:41:1: error: unknown type name 'class'

class CCS811

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811/CCS811.h:42:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token

{

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:7:7: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

CCS811::CCS811()

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:14:13: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

void CCS811::begin() {

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:19:13: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

bool CCS811::_HardWare_ID(){

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:39:13: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

bool CCS811::_Valid_Firmware(){

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:62:14: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

void CCS811::_Boot_to_Firmware_Mode(){

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:70:13: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

void CCS811::_Measure_Mode(){

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:83:21: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

unsigned int CCS811::Read_Value(CCS811MeasureType type){

^

D:\arduino-1.6.8-windows\arduino-1.6.8\libraries\CCS811\CCS811.c:137:13: error: expected '=', ',', ';', 'asm' or 'attribute' before ':' token

void CCS811::init_CCS811(){

^

exit status 1 Error compiling for board Arduino Nano.

在文件 -> 首选项开启 “编译过程中显示详细输出”选项 这份报告会包含更多信息。

Please post the code, both the program and library files, that is causing the error.