天天看點

【C++】單引号與雙引号的坑

C++中,經常忽略 單引号與雙引号的差別。

【KeyPoint】單引号是char類型,雙引号是字元串類型

如下例子 第10行

#include <iostream>
#include "ClassTemplate.h"
using std::cout;
using std::endl;

int main(){
    myClass<int,int> class1(3,5);
    class1.show();

    myClass<int,char> class2(3,"a");
    class2.show();

    myClass<double,int> class3(2.9,10);
    class3.show();


}
           

編譯出錯,資訊如下,各種百度,無果

Test.cpp: In function ‘int main()’:

Test.cpp:10: error: invalid conversion from ‘const char*’ to ‘char’

Test.cpp:10: error:   initializing argument 2 of ‘myClass<T1, T2>::myClass(T1, T2) [with T1 = char, T2 = char]’

最後求助大蝦,修改如下,編譯通過。

myClass<int,char> class2(3,'a');