2016-07-24 116 views
1
#include <iostream> 
using namespace std; 
typedef unsigned int64_t COUNT_TYPE; 
int main() 
{ 
    cout << "Hello world!" << endl; 
    return 0; 
} 

「COUNT_TYPE」,它說: 的main.cpp | 4 |錯誤:「COUNT_TYPE」之前預期的初始|錯誤:之前預期的初始化在typedef表達編譯時

+4

這是你的編譯器比較笨的告訴你'unsigned int64_t'不是一個類型。 'std :: uint64_t','unsigned long long'等是可行的。 – ildjarn

回答

1

當您編寫unsigned int時,unsigned不會「修改」int;類型是「unsigned int」。

您不能將unsignedsigned「添加」到現有的類型名稱。

而不是採取int64_t並試圖將其轉換爲無符號類型,使用無符號類型開頭,如uint64_t

並且不要忘記包含<cstdint>,以便您實際上可以訪問這些類型。

0

您不能使用unsigned int64_t。使用它在定義uint64_t中:

<cstdint> 

希望幫助:-)

+0

OP知道他們「不能」,並要求_why_。 –

-1

是的int64_t根本整數類型的一個typedef。所以你需要添加它的定義。在您的程序中包含cstdint,如下所示。 #include <cstdint>並且已經有unsigned int64 typedefs可用。 uint64_t

相關問題