使用寄存器存储类作为类成员变量时出错

Und*_*our 2 c++

#include <iostream>
using namespace std;

class test
{
    public:
        register int a;
};

int main() {
    // your code goes here
    test t;
    t.a = 10;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误:为'a'指定的存储类

有没有办法使用寄存器存储类作为成员变量?

Edg*_*jān 8

根据储存时间:

寄存器说明符仅允许在块作用域和函数参数列表中声明的对象.

所以你不能将它用于类成员变量.

注意,这个说明符已经过时了:它从C++ 11开始被弃用,并且自C++ 17以来被完全删除- 让编译器进行优化.