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');