我是来自C的C ++的完全初学者。我将此代码编写为简单数据库应用程序的一部分:
#include <cstdint>
template <typename T>
struct entry {
uint64_t ID;
T data;
};
template <typename T>
uint64_t calculate_offset(entry<T> thing) {
return sizeof(uint64_t) * entry<T>.ID;
}
我想访问entry.ID
而无需知道entry.data
的类型。当我尝试编译我的代码时,clang给出了以下错误:
totes.cpp:11:48: error: expected '(' for function-style cast or type construction
如何实现理想的行为?这个错误意味着什么?
答案 0 :(得分:1)
entry<T> thing
// entry<T> is the type
// thing is the name of an instance of the type
要通过对象的实例访问类或结构的成员状态。例如:
thing.ID;