#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表達編譯時
#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表達編譯時
當您編寫unsigned int
時,unsigned
不會「修改」int
;類型是「unsigned int
」。
您不能將unsigned
或signed
「添加」到現有的類型名稱。
而不是採取int64_t
並試圖將其轉換爲無符號類型,使用無符號類型開頭,如uint64_t
。
並且不要忘記包含<cstdint>
,以便您實際上可以訪問這些類型。
您不能使用unsigned int64_t。使用它在定義uint64_t中:
<cstdint>
希望幫助:-)
OP知道他們「不能」,並要求_why_。 –
是的int64_t根本整數類型的一個typedef。所以你需要添加它的定義。在您的程序中包含cstdint
,如下所示。 #include <cstdint>
並且已經有unsigned int64 typedefs可用。 uint64_t
這是你的編譯器比較笨的告訴你'unsigned int64_t'不是一個類型。 'std :: uint64_t','unsigned long long'等是可行的。 – ildjarn