2013-08-16 21 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; 
} 
相关问题