我试图了解使用C++进行的西门子扫描仪的编程,并且由于我的C++技能有限,因此在理解供应商提供的代码的许多部分时遇到了问题。
问题1
例如,代码使用引用(rMrProt)来对象MrProt,而符号(例如().
和()[].
的使用)对我来说却很困惑。
例如:
ImageSamples = rMrProt.kSpace().baseResolution()
ImageSize = rMrProt.sliceSeries()[0].readoutFOV()
这些陈述的一些解释将不胜感激。
有关对象MrProt的所有信息都在“MrProt.h”,“MrProt.dll”,“MrProt.lib”中。所有这些文件已在以下位置共享:
https://docs.google.com/open?id=0B0Ah9soYnrlIYWZkNDU2M2EtYTNmNC00YTc5LTllMzItYzIyMWU4M2ZhY2Fi
问题2
另外,我一直在尝试读取MrProt.dll和MrProt.lib,但没有成功。只是现在,我才知道转储。任何帮助,将不胜感激。
问题3
我的另一个困惑与MrProt.h本身的某些部分有关。 MrProt.h中有一个声明:
class __IMP_EXP MrProt: public MrProtocolData::MrProtDataDelegate
{
typedef MrProtocolData::MrProtDataDelegate BasicImplementation;
public:
MrProt();
MrProt(const MrProt& rSource);
…
….
}
在这里
__IMP_EXP
,我想这是一些编译器特定的东西..一些装饰等。但是,我仍然不知道该怎么做。 最佳答案
问题1
rMrProt.sliceSeries()[0].readoutFOV()
手段
rMrProt
的sliceSeries
成员并对其进行调用。显然,它返回一个类似数组的对象,可以对其进行索引。 [0]
)。那是某种对象。 readoutFOV
。 问题2。您实际上不应该读取二进制文件。他们应该有文件。
关于c++ - C++: “().”和 “()[].”的使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8790291/