&引用;错误:应在';之前使用主表达式';代币;出现而我不';我不知道为什么 我对C++非常陌生,我不知道为什么“String C =打印。(z);”如果我把它放在main或while循环中,就会产生错误。 #include <

&引用;错误:应在';之前使用主表达式';代币;出现而我不';我不知道为什么 我对C++非常陌生,我不知道为什么“String C =打印。(z);”如果我把它放在main或while循环中,就会产生错误。 #include <,c++,compiler-errors,C++,Compiler Errors,&引用;错误:应在';之前使用主表达式';代币;出现而我不';我不知道为什么 我对C++非常陌生,我不知道为什么“String C =打印。(z);”如果我把它放在main或while循环中,就会产生错误。 #include <iostream> #include <cstdlib> #include <ctime> using namespace std; class print { public: int x;

&引用;错误:应在';之前使用主表达式';代币;出现而我不';我不知道为什么 <>我对C++非常陌生,我不知道为什么“String C =打印。(z);”如果我把它放在main或while循环中,就会产生错误。

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

class print {
    public:
    int x;
    string say(int x) {
    switch (x) {
    case 1: return "text1";
    case 2: return "text2";
    case 3: return "text3";
    default: return "default";} } };

int main() {
    int y = 1;
    int z = 1;
    while (y == 1) {
    cin >> z;
    string c = print.say(z);
    cout << c; } }
#包括
#包括
#包括
使用名称空间std;
类打印{
公众:
int x;
字符串say(int x){
开关(x){
案例1:返回“text1”;
案例2:返回“text2”;
案例3:返回“text3”;
default:返回“default”;}}};
int main(){
int y=1;
intz=1;
而(y==1){
cin>>z;
字符串c=打印,比如(z);

没关系,我必须这么做:

int main() {
    print print;
    int y = 1;
    int z = 1;
    while (y == 1) {
    cin >> z;
    string c = print.say(z);
    cout << c; } }
intmain(){
印刷品;
int y=1;
intz=1;
而(y==1){
cin>>z;
字符串c=打印,比如(z);

难道没有
print
object.print().say(z);您不能只调用类的成员。您需要该类的对象。您的类不使用其数据成员,并且
say
的参数会对其进行阴影处理。您还可以将该类转换为自由函数。看起来这就是您尝试使用该类的目的。欢迎使用堆栈溢出!您确实应该避免使用
命名空间std
-这是一个不好的习惯,当你不期望它的时候。习惯使用命名空间前缀(
std
故意非常短),或仅将所需的名称导入到最小的合理范围中。
print print;
我建议您永远不要这样做。使代码可读并避免其他问题。这意味着不要将对象命名为与类完全相同的名称。请不要将类型名称用作变量名称,这不仅在某些情况下容易混淆你会得到神秘的错误。现在我只是在测试。我应该如何在实际代码中命名它?选择与
print
@IwanTrajanowski不同的东西,就像你想要的一样。如果你想让它在你的脑海中清晰,你可以将它命名为printObject。