visual C++中error C2352是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual C++中error C2352是啥意思相关的知识,希望对你有一定的参考价值。

这个错误是:非静态成员函数的非法调用

是不是你在调用类函数的时候,直接使用 类名::非静态函数名(参数) 这种方式,调用了类里面的非静态成员函数?

静态函数是类的成员。非静态函数是对象的成员。静态函数只能操作静态成员和静态函数,按这个思路找找。
参考技术A error C2352 : 非静态成员函数的非法调用 参考技术B 'class::function' : illegal call of non-static member function
The specified nonstatic member function was called in a static member function.
The following is an example of this error:
class X


public:
static void func1();
void func2();
static void func3()

func1(); // OK, calls static func1
func2(); // error, calls nonstatic func2

;

Visual Studio C++ 编译器标志:-Zm200 是啥?

【中文标题】Visual Studio C++ 编译器标志:-Zm200 是啥?【英文标题】:Visual Studio C++ compiler flag: what is -Zm200?Visual Studio C++ 编译器标志:-Zm200 是什么? 【发布时间】:2010-02-12 00:31:22 【问题描述】:

我使用 Qt 进行 C++ 开发,今天我从一个 .pro 文件生成了一个 .vcproj 文件。

我注意到在 vcproj 项目属性下,Qt 将此标志添加到 C/C++ -> 命令行 -> 附加选项中

-Zm200 

什么是-Zm200?

【问题讨论】:

【参考方案1】:

-Zm 是指定预编译头内存限制(更多信息here)。它限制了编译器可以分配用于处理预编译头的内存量。对于 Visual C++ 2008,-Zm200 表示限制为 150 MB。

【讨论】:

这很奇怪。如果您查看 Eric 指出的文章,那篇文章说 210MB! Eric 的文章参考了 VC++ 6.0。我的链接指向 VC++ 2008。2005 有不同的数字,2010 可能仍然不同。 嘿,它的 msdn 没有人期望它们准确或有用 ^^ 根据 VC6 (msdn.microsoft.com/en-us/library/aa278580%28VS.60%29.aspx) 的文档,该数字是一个比例因子。它还提到默认限制约为 105MB。所以 200 表示 200%(因此 2x105 = 210)。如果上面 Michael 是正确的,VS2008 中的默认值必须是 75 MB。【参考方案2】:

这限制了编译器的最大堆大小according to this article。所以这根本不会影响你的程序

【讨论】:

以上是关于visual C++中error C2352是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

mybatis po对象是啥意

the hash for the file is not present in the specified catalog file,是啥意

visual c++是啥?

visual c++ 是啥软件

在 Visual Studio C++ 中,内存分配表示形式是啥?

visual c++是啥?