[英]How do you distinguish the declaration of a class member function and data member
您如何告诉编译器这是一个函数声明,而不是数据成员:
typedef std::basic_ostringstream<char16_t> foostringstream;
class TextStream: public foostringstream {
public:
std::forward_list<TextInstruction> output();
};
问题在于,由于某些令人讨厌的原因,编译器(VS2015.3)在印象中它是一个变量。
问题在于您正在创建一个空类,这不是编译器问题。 想象你做了类似的事情
class Empty{}
int main() {
Empty a,b;
assert (&a == &b);
cout << sizeof(Empty)
}
您期望结果是什么?
编译器始终添加填充以确保&a!=&b,这意味着Empty的size将大于0(通常为1)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.