2013-08-16 50 views
2

我在代碼中使用簡單定義時遇到了相當大的問題。我已經閱讀了關於Mozilla bug site report的修復,但在我的情況下它不起作用。與4.7 g ++不一致的字面量

代碼的原件部分(當然它工作在4.6):

#define __STDC_FORMAT_MACROS 
#include <inttypes.h> 
#define A "A: %20"PRIu64 

error: inconsistent user-defined literal suffixes ’A’ in string literal 

修復程序後:

#define __STDC_FORMAT_MACROS 
#include <inttypes.h> 
#define A "A: %20" PRIu64 

error: inconsistent user-defined literal suffixes ’A’ in string literal 

任何其他建議?

+0

你能提供一個鏈接到解決? – Dukeling

+0

在這裏您可以:https://groups.google.com/forum/#!topic/comp.std.c++/9nD4Mb8pN1Q它完全從這個主題派生:http://gcc.gnu.org/bugzilla/show_bug.cgi ?ID = 50917 – user2207495

回答

0

我建議升級到的g++更高版本 - 這兩種形式的代碼做工精細在5.4版本:

#include <iostream> 
#define __STDC_FORMAT_MACROS 
#include <inttypes.h> 
#define A "A: %20"PRIu64 
#define B "B: %20" PRIu64 

int main() { 
    std::cout << A << std::endl; 
    std::cout << B << std::endl; 
} 
相關問題