-3

編集:この質問は無視してください。私は自分がばかで、非常に親切で親切な人々が、iostream は C ではなく C++ ライブラリであると指摘したことに気付きました。

私は非常に奇妙な問題に遭遇しています。

私は完全に機能するプログラム(約1000行)を持っています。する必要がある

#include <iostream> 

そうすると uint32_t の typedef が壊れます。

そのように定義されています

typedef unsigned __int32 uint32_t;

私はVisual Studio 2017を使用しています.そして、これはそれが与えるエラーです

\vc\tools\msvc\14.15.26726\include\cstdlib(19): エラー C2061: 構文エラー: 識別子 'noexcept'

そして、下線付きの uint32_t にカーソルを合わせると、次のように表示されます。

uint32_t 変数「uint32_t」は型名ではありません

行だけにコメントする

#include <iostream>

プログラムは期待どおりにコンパイルおよび実行されます。

何を与える?

副質問。uint32_t を使用している理由は、多くのビット操作を行っているため、変数の長さが 32 ビットであることを保証するためです。代わりに unsigned int を使用しても安全ですか?

ここに私が含めているすべてのリストがあります:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <iostream>

typedef unsigned __int32 uint32_t;
4

1 に答える 1