Fix uint64_t type error with gcc 13.3. (#299)

Etcd compiles successfully using gcc version 9.4.0, but fails when using
version 13.3.0.


![image](https://github.com/user-attachments/assets/050723ea-1b09-4d99-abb5-06c9b59e153a)

The reason why gcc works with version 9.4.0 is that the \<string\>
include the \<char_traits.h\> that already include \<cstdint\>.

![image](https://github.com/user-attachments/assets/3bf2a72a-b997-4341-a820-48acda360899)

However, in version 13.3.0 of gcc, the \<char_traits.h\> header file
conditionally includes cstdint

![image](https://github.com/user-attachments/assets/490f2102-7d99-4cf4-8696-f3c0d7528fb9)

Therefore, including \<cstdint\> in Member.hpp is able to solve this
problem, which is also in line with the principle of
include-what-you-use.

Related issue: #297

Signed-off-by: vegetableysm <yuanshumin.ysm@alibaba-inc.com>
This commit is contained in:
vegetableysm 2025-03-28 09:33:53 +08:00 committed by GitHub
parent 216b86f8d7
commit 7c6e714f18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 1 additions and 0 deletions

View File

@ -1,6 +1,7 @@
#ifndef __V3_ETCDV3MEMBERS_HPP__
#define __V3_ETCDV3MEMBERS_HPP__
#include <cstdint>
#include <string>
#include <vector>
using namespace std;