背景:
我正在学习edX | 中级C++课程。虽然这门课是由微软主导的,但它并没有说明你需要使用他们的IDE Visual Studios才能成功完成。我只有一台Mac电脑,所以我使用Xcode完成了入门课程,完全没有问题。
问题:
在中级课程的第一个模块中,它说明您可以将类声明为静态,如下所示:
// Math.h
// Header file for the Math class
#pragma once
// Math class definition
static class Math
{
public:
// given base and exponent, calculate value
static int Math::pow(int base, int exp);
};
Xcode标记的错误内容如下:
'static'不允许在类型声明中使用
根据之前在SO上问过的一个问题(链接为here),这是不可能实现的,但我不确定自那个问题在2008年回答以来是否有所改变,或者这是特定于编译器/VS功能的,由微软添加以混淆人们。
命名空间
。关于您的问题,在C++中将链接说明符(如static
)添加到类或结构中从未是有效的做法。 - Some programmer dudeMath::pow
声明中的Math::
限定符也是不必要的,这也应该导致编译错误。 - Fatih BAKIR