【发布时间】:2018-03-18 14:30:22
【问题描述】:
所以,我正在尝试 fork 一些开源代码,并且在编译时遇到了这些错误:
C2039 'TransactionId':不是 'CryptoNote' 的成员
C2061 语法错误:标识符“TransactionId”
我对@987654324@ 通常将自己限制在C# 的领域相对缺乏经验,但是,我可以清楚地看到TransactionId 是在不同文件中声明的typedef,如下所示:
namespace CryptoNote {
typedef size_t TransactionId;
typedef size_t TransferId;
//more code
抛出错误的那一行是:
void sendTransactionCompleted(CryptoNote::TransactionId _id, bool _error, const QString& _error_text);
在我没有经验的眼里,TransactionID 似乎肯定是 Cryptonote 的成员,不是吗?
有什么想法吗?
【问题讨论】:
-
从使用位置看typedef是否可见?
-
这可能是一个可见性问题,因为我不能reproduce the error。
-
另外,为什么用
cmake和msbuild标记? -
CryptoNote是否嵌套在另一个命名空间下?
标签: c++ namespaces typedef