为什么 gcc 编译这个而 msvc 没有
Why does gcc compile this and msvc doesn't
这是我的类
class ContainerStack{
public:
int getCapacity();
int getSize();
const Container& at(int height);
void take(Container aContainer);
Container give();
private:
std::vector<Container> containers();
};
以下是getCapacity((和getSize((方法
int ContainerStack::getCapacity(){
return containers.capacity();
}
int ContainerStack::getSize(){
return containers.size();
}
GCC编译所有内容都没有问题,但当使用Visual Studio 2017时,我得到一个E0153表达式必须有类类型错误。有办法解决这个问题吗?
您将containers
定义为返回向量的函数:
std::vector<Container> containers();
修复为:
std::vector<Container> containers;
为什么gcc编译这个而msvc不
我怀疑您在将代码从gcc移植到msvc时搞砸了,正如NathanOliver所发现的那样。
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 如果没有malloc,链表实现将失败
- 为什么 gcc 编译这个而 msvc 没有
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 没有'str'成员在 GCC 和 Clang 'std::basic_ostream<char>',但 MSVC 没有问题
- 如何使用CLion和MSVC编译器工具链编译wxWidgets Hello World应用程序而没有错误?
- 尝试使用 MSVC 从源代码构建 qt 创建器:无法打开包含文件:"stddef.h":没有这样的文件或目录
- GCC/Clang上的模板错误,但在MSVC上没有错误
- 有没有办法禁用 MSVC 输出中的".pdata"/"ExceptionDir"和"UNWIND_INFO"?
- GCC称将功能与多个继承过载时,称其为模棱两可,但Clang和MSVC没有
- 在 MSVC 上,为什么没有出现 std::string 的警告"unreferenced formal parameter"?
- 创建两个或多个std::向量时没有bad_alloc,它们一起超过了内存(MSVC)
- 有没有一种简单的方法可以将库文件包含在MSVC中
- MSVC编译器有没有像"#pragma ignore this sourcefile"这样的东西?
- 为什么gcc和msvc允许const对象没有用户提供的构造函数?这是个bug吗
- 在GCC中,Clang和MSVC有没有办法符合C++98而不是C++03
- MSVC错误C2371 "redefinition; different basic types",除了我没有看到我在哪里重新定义任何东西
- 模板专门化GCC的语法错误,但MSVC没有
- 是否有可能使用编译与MSVC没有Visual Studio
- 比较int和unsigned引用时警告,但比较g++/msvc的const(无ref)时没有警告