error c2678 二进制=没找到接受cstring类型的左操作数的运算符

咋办呀
光标就是有问题行
filepath=read-dlg.getpathname

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你看下这篇博客吧, 应该有用👉 :error C2065 CString 未声明的标识符
  • 以下回答来自chatgpt:

    对于问题C2678,通常是由于类型不匹配导致的错误。在这种情况下,您需要检查代码中是否存在类型错误,并确保使用正确的数据类型。

    下面是一些建议:

    1. 检查代码中使用Cstring的位置,并确认它们是否与应该使用的数据类型匹配。可以使用C++中的string类型代替Cstring类型。

    2. 如果您必须使用Cstring类型,请确保在代码中正确地定义和使用它,并使用正确的方法进行操作。

    3. 尝试使用强制类型转换来确保操作符可以接收左操作数的数据类型。例如,可以使用static_cast将Cstring类型转换为另一种数据类型。

    4. 如果您需要进一步了解此错误,请检查编译器的文档或在线资源,了解可能存在的其他解决方案或建议。

    下面是一个简单的示例代码来说明如何使用string类型代替Cstring类型:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main() {
       string name = "John";
       cout << "Hello " << name << "!" << endl;
       return 0;
    }
    

    希望这些建议可以帮助您解决问题。如果您有任何其他问题,请随时与我联系。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^