Dux*_*uxa -2 c iostream uint32-t
编辑:请忽略这个问题.我意识到我是一个白痴,非常友好和乐于助人的人指出iostream不是C而是C++库.
我遇到了一个非常奇怪的问题.
我有一个完全工作的程序(大约1000行).我需要
#include <iostream>
Run Code Online (Sandbox Code Playgroud)
当我这样做时,uint32_t的typedef会中断.
它被定义为这样
typedef unsigned __int32 uint32_t;
Run Code Online (Sandbox Code Playgroud)
我正在使用Visual Studio 2017.这是它给出的错误
\ vc\tools\msvc\14.15.26726\include\cstdlib(19):错误C2061:语法错误:标识符'noexcept'
当我将鼠标悬停在现在的下划线uint32_t时,会出现以下情况:
uint32_t变量"uint32_t"不是类型名称
评论这条线
#include <iostream>
Run Code Online (Sandbox Code Playgroud)
该程序按预期编译和运行.
是什么赋予了?
边题.我使用uint32_t的原因是为了保证我的变量是32位长,因为我正在进行大量的位操作.使用unsigned int会安全吗?
这是我包括的所有内容的列表:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <iostream>
typedef unsigned __int32 uint32_t;
Run Code Online (Sandbox Code Playgroud)
声明uint32_t自己是非法的.不要那样做.C++有一个标准的.用那个.它在宣布cstdint.
https://en.cppreference.com/w/cpp/types/integer
如果你在C那里你需要使用的标题是stdint.h:
https://en.cppreference.com/w/c/types/integer