程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-求解關於C++中的條件編譯#ifdef

c++-求解關於C++中的條件編譯#ifdef

編輯:編程綜合問答
求解關於C++中的條件編譯#ifdef

IDE是codeblocks,源文件
第一個是頭文件time.h,定義類

 // time.h
//#ifdef _TIME_H
#define _TIME_H
class Time
{
private:
    int hour;
    int minute;
    int second;
public:
    Time();
    void set_time(int h, int m, int s);
    void show_time();
};

//#endif

第二個是方法實現文件time_func.cpp


// time_func.cpp
#include <iostream>
#include "time.h"
Time::Time()
{
};
void Time::set_time(int h, int m, int s)
{
    hour = h;
    minute = m;
    second = s;
    return;
}
void Time::show_time()
{
    std::cout << "show time: " << hour << ":"
              << minute << ":" << second << std::endl;
    return;
}

第三個是main函數,main.cpp

 // the main function
#include <iostream>
#include "time.h"
using namespace std;
int main()
{
    Time t;
    t.set_time(19, 20, 59);
    t.show_time();


    return 0;
}

我把條件編譯#ifdef和#endif注釋掉就能編譯通過,要不然就會出現編譯失敗:
||=== Build: Debug in test_class (compiler: GNU GCC Compiler) ===|
D:\C++\課後練習\test_class\time.h|2|error: unterminated #ifdef|
D:\C++\課後練習\test_class\main.cpp||In function 'int main()':|
D:\C++\課後練習\test_class\main.cpp|7|error: 'Time' was not declared in this scope|
D:\C++\課後練習\test_class\main.cpp|7|error: expected ';' before 't'|
D:\C++\課後練習\test_class\main.cpp|8|error: 't' was not declared in this scope|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

真心求解為何?

最佳回答:


應該是#if**n**def和#endif吧。

a1193561652
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved