2
我正在預處理我的InfoPlist文件以包含我的修訂版本號。我的標題是這樣的:如何在不插入空格的情況下將兩個宏與它們之間的點連接起來?
#import "svn.h"
#define APP_VERSION 1.0
#define APP_BUILD APP_VERSION.SVN_REVISION
當我在程序中檢查我的Build版本,它是1.0 . 123456
。但是,如果我試試這個:
#import "svn.h"
#define APP_VERSION 1.0
#define APP_BUILD APP_VERSION ## . ## SVN_REVISION
我得到
error: pasting formed 'APP_VERSION.', an invalid preprocessing token
error: pasting formed '.SVN_REVISION', an invalid preprocessing token
我見過this question但它實際上並沒有給出答案; OP實際上並不需要連接令牌。我做。如何在不插入空格的情況下將兩個宏與它們之間的點連接起來?
它顯示錯誤作爲無效後綴'.123456'浮動常數 – Abhishek
@Abhishek你編譯還是隻是預處理?主要的C語言不能處理多點數字,所以您需要確保它們以字符串結尾或以其他方式隱藏。 – Leushenko